模块功能主要由两个命令构成:export
和import
。export
命令用于规定模块的对外接口,import
命令用于输入其他模块提供的功能
export与import
test.js
1 | export var name = "qinhanwen"; |
test1.js
1 | import { name, age } from './test.js'; |
缩写:
1 | export { name, age } from './a.js'; |
模块整体加载
用星号(*
)指定一个对象,所有输出值都加载在这个对象上面
test.js
1 | var name = "qinhanwen"; |
test1.js
1 | import * as obj from './test.js';//所有输出值,都在obj对象上 |
export default
export default
命令用于指定模块的默认输出。一个模块只能有一个默认输出,因此export default
命令只能使用一次。所以,import命令后面才不用加大括号,因为只可能唯一对应export default
命令。
本质上,export default
就是输出一个叫做default
的变量或方法,然后系统允许你为它取任意名字。
test.js
1 | var name = "qinhanwen"; |
test1.js
1 | import name, { age } from './test.js';//等价于 import { default as name,age } from './test.js'; |
as关键字
as关键字可以为模块重命名
test.js
1 | var name = "qinhanwen"; |
test1.js
1 | import { name1 as name2 } from './test.js'; |