JS ES6 模块化开发入门
2024-09-17
93
1. 模块的基本使用2. 模块延迟解析3. 作用域在模块中的体现4. 模块的预解析5. 模块的具名导出和导入6. 批量导入
* as name" class="reference-link" target="_blank">6. 批量导入
导出、导入 别名的使用" class="reference-link" target="_blank">7.
* as name
7. 导出、导入
别名的使用8. 模块的默认导出9. 模块的合并导出视频推荐1. 模块的基本使用
定义一个js模块
let title = '辰风沐阳'
let url = 'https://www.itqaq.com/index/art/279.html'
function show() {
console.log('this is show method')
}
export { title, url, show }
type="module"
表示使用模块化, ./module/1.js
中的 ./
不能省略
<script type="module">
import { title, url, show } from "./module/1.js"
console.log(title)
console.log(url)
show()
</script>
2. 模块延迟解析
因为模块之间会有依赖关系,所以系统在处理模块时会加载全部模块后才会执行模块
所以模块化js代码放在 button 标签之前,也能找到 button 标签
<script type="module">
console.log(document.querySelector('button'))
</script>
<button>测试</button>
3. 作用域在模块中的体现
模块有自己的独立作用域,在模块中定义的变量只能在模块内部使用
在模块内部可以使用全局作用域的变量,但在外部则不能使用模块内部的变量,只有使用 export
导出才能在外部使用
4. 模块的预解析
无论模块加载多少次,只会在第一次时产生执行
5. 模块的具名导出和导入
具名导出: 顾名思义,就是导出具有名称的成员
let site = 'wwww.itqaq.com'
function show() {
console.log('this is show ')
}
export { site, show }
* as name" class="reference-link" target="_blank">6. 批量导入 * as name
// 导出的内容
export { site, url }
// 导入
import * as api from './modules/http.js'
console.log(api.url)
console.log(api.site)
导出、导入 别名的使用" class="reference-link" target="_blank">7. 导出、导入
别名的使用
import { site as name } from './modules/user.js'
8. 模块的默认导出
export
导出数据时使用 default
代表时默认导出,那么在导入模块时接收的名称可以任意定义
export default function show() {
console.log('this is show ')
}
import api from './modules/show.js'
默认导出本质上是给导出的成员设置了别名 default
,这也是默认导出只能写一个的原因
export { show as default }
接收默认导出的成员,下面两种写法都可以
import user from './modules/show.js';
import { default as user } from './modules/show.js';
具名导出和默认导出的混合使用及其导入
// 导出
export const domain = 'https://www.itqaq.com';
export default function request() {
return new Promise((resolve, reject) => { });
}
// 导入
import request, { domain as url } from './modules/request.js';
9. 模块的合并导出
创建一个模块(merge.js)进行合并导出
import * as user from './modules/user.js';
import * as admin from './modules/admin.js';
export { user, admin }
导入合并后的模块
import * as api from './modules/merge.js';
// 访问方式
// api.user.成员
// api.admin.成员
视频推荐
后盾人向军: JS模块化开发,编写高可用代码
更新于:4个月前赞一波!
相关文章
- 【说站】js isBetween时间点的判断
- 【说站】js isSame判断对象是否相同
- 【说站】js中diff函数的使用
- 【说站】js中isBefore函数如何判断
- 【说站】js中MomentJS构造字符串
- 【说站】js内存的生命周期介绍
- 【说站】js中六种基本数据类型
- 【说站】js如何实现类型判断
- 【说站】js引用计数算法是什么
- 【说站】js原型有哪些规则
- 【说站】js垃圾回收的场景优化
- 【说站】js执行上下文是什么意思
- 【说站】js函数执行过程的探究
- 【说站】js变量的作用域如何使用
- 【说站】js使用闭包的注意点
- 【说站】js有哪些常用的数组api
- 【说站】js中this的使用场景
- 【说站】js如何对类型进行判断
- 【说站】js中闭包是什么?怎么用?
- 【说站】js中的JSON是什么
文章评论
评论问答