【JavaScript】模块化开发

模块化开发是指将复杂的代码拆分为独立的模块,每个模块负责完成特定的功能,不同的模块之间可以通过使用export关键字将代码导出为模块,其他模块可以使用import关键字导入该模块。

import export

javascript 复制代码
//index.js
let title = "小明"
let web = "baidu.com"

/*
let getWeb = () => {
    return "www.baidu.com"
}
*/
let getWeb = () => "www.baidu.com"

export { title, web, getWeb } //将多个变量或函数分别导出
javascript 复制代码
<script type="module">
    //从 index.js 文件中导入 title、web、getWeb 变量/函数
    import { title as webTitle, web, getWeb } from './index.js'

    console.log(webTitle)
    console.log(web)
    console.log(getWeb())
</script>

default

javascript 复制代码
let title = "小明"
let web = "baidu.com"

let getWeb = () => "www.baidu.com"

//将一个对象作为整体导出, 导出的对象包含 title、web、getWeb 三个属性
export default { title, web, getWeb }
javascript 复制代码
<script type="module">
    import obj from "./index.js"

    console.log(obj.title)
    console.log(obj.web)
    console.log(obj.getWeb())
</script>

as

javascript 复制代码
//index.js
let title = "小明"
let web = "baidu.com"
let getWeb = () => "www.baidu.com"
export { title, web, getWeb } //将多个变量或函数分别导出
javascript 复制代码
// import * as obj防止命名冲突
<script type="module">
    import * as obj from "./index.js"

    console.log(obj.title)
    console.log(obj.web)
    console.log(obj.getWeb())
</script>
相关推荐
爱分享的鱼鱼8 分钟前
对比理解 Vue 响应式 API:data(), ref、reactive、computed 与 watch 详解
前端·vue.js
JS_GGbond9 分钟前
【性能优化】给Vue应用“瘦身”:让你的网页快如闪电的烹饪秘籍
前端·vue.js
T___T11 分钟前
一个定时器,理清 JavaScript 里的 this
前端·javascript·面试
代码小学僧12 分钟前
从 Arco Table 迁移到 VTable:VTable使用经验分享
前端·react.js·开源
微笑的曙光13 分钟前
Vue3 环境搭建 5 步走(零基础友好)
前端
不知名用户来了17 分钟前
基于vue3 封装的antdv/element-Plus 快速生成增删改查页面
前端
明川23 分钟前
Android Gradle - ASM + AsmClassVisitorFactory插桩使用
android·前端·gradle
San3023 分钟前
深度驱动:React Hooks 核心之 `useState` 与 `useEffect` 实战详解
javascript·react.js·响应式编程
布列瑟农的星空24 分钟前
webpack迁移rsbuild——配置深度对比
前端
前端小黑屋25 分钟前
查看项目中无引用到的文件、函数
前端