JS ES6 模块化开发入门
2024-09-17
58
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模块化开发,编写高可用代码
更新于:2个月前赞一波!
相关文章
- js使用IntersectionObserver实现锚点在当前页面视口时导读高亮
- js使用scroll事件实现锚点滚动到页面顶部时导航高亮
- 前端js拖拽插件库有哪些?
- Swapy - 开源JavaScript js拖拽插件
- 【说站】一分钟带你快速了解js面向对象是什么?
- JS 的 apply 方法
- JS 字符串和数组相互转换
- JS 数组去重的多种方法
- JS 函数中的 arguments 类数组对象
- 介绍Js简单的递归排列组合
- Node.js 软件包管理工具 (npm)
- JS 性能优化之防抖
- JS 性能优化之节流
- Webpack5 快速入门
- Vue3 快速入门及巩固基础
- JS 数组方法 every 和 some 的区别
- JS 正则表达式常用方法
- JS 数组详解【编程笔记】
- JS 中的 ?. 和 ??
- 一款轻量级前端框架Avalon.Js
文章评论
评论问答