出现module的意义是希望将大型的项目拆分为多个模块,完后再讲多个模块相互调用之类的
- 结构:
export
和import
。export
命令用于规定模块的对外接口,import
命令用于输入其他模块提供的功能。 - export的输出格式两种写发
- 在要输出的变量、函数、类等数据类型前面加上关键字export就可以啦
- 一种是在代码底部批量输出格式:export{变量1,变量2,.....}
- 用as关键字给输出的变量其别名
function v1() { ... }
function v2() { ... }
export {
v1 as streamV1,
v2 as streamV2,
v2 as streamLatestVersion
};
- import {变量1,变量2,.....}from "导入变量的js文件路径"
- 从指定的js文件中导入想要的变量名
- 可以用as关键字给导入的变量定义别名
- import引入的变量只有可读权限,不可以擅自修改哦,但是可以修改对象的属性值
- import会与变量的提升,尽管位置放在下面,但是也会提升到头部执行
- 由于import是静态执行,所以import的导入模块不可以变量(把导入的文件存储在一个变量中)或表达式(把导入的变量名字以表达式写出来)
- 使用*代表导入全部的输入变量
- <script stype="module">type要改变类型呢
- export default 命令:给输出接口定义一个默认的输出变量,这个时候输入导入的变量不需要知道导入的变量名字,import到入得时候可以随便命名
- default命令只可以用一次呢,所以一次输出只会有一个默认定义
- default定义的输出变量,在import导入的时候不需要{}