es6模块笔记
2017-10-06 本文已影响27人
tiancai啊呆
模块功能主要由两个命令构成:export和import。
export命令用于规定模块的对外接口,import命令用于输入其他模块提供的功能。
export命令:
- export命令可以出现在模块的任何位置,只要处于模块顶层就可以。
- 可以输出变量,函数,类。
//如下所示:
export var name = 'liming';
export function f() {};
var age= 10;
function f() {}
export {f as f1,age};
- export输出的变量,函数,类就是本来的名字,但是可以使用as关键字重命名。
- export default命令,为模块指定默认输出。
- export default命令只能使用一次。
- 使用export default时,对应的import语句不需要使用大括号。
function foo() {
console.log('foo');
}
export default foo;
import foo from '1.js';
使用export命令定义了模块的对外接口以后,其他 JS 文件就可以通过import命令加载这个模块。
import命令:
- import命令接受一对大括号,里面指定要从其他模块导入的接口。大括号里面的接口,必须与被导入模块对外接口的名称相同。
- 使用as关键字,将输入的接口重命名。
- import命令具有提升效果,会提升到整个模块的头部,首先执行。
- import是静态执行,不能使用表达式和变量。
- 使用整体加载,用星号指定一个对象,所有输出值都加载在这个对象上面。
import { f , age } from '1.js';
import * as one from '1.js'; //整体加载