ES6 Module
- export对外的接口必须与模块内部建立一一对应的关系
// 错误
var a = 1
export a // 输出的其实还是1,没有建立一一对应的关系
// 正确
export var a = 1
export var a = 1
export function foo() {}
export class Foo {}
// 或者export { a, foo, Foo }
// 第一种
var a = 1
export { a } // 更形象, export的值都在底下
// 第二种
export var a = 1
- export和export default
- export在import的时候需要大括号,export default在import的时候不需要大括号,
- 一个模块只能有一个默认输出,所以export default只能使用一次
// 第一组
export default function crc32() { // 输出
// ...
}
import crc32 from 'crc32'; // 输入
// 第二组
export function crc32() { // 输出
// ...
};
import {crc32} from 'crc32'; // 输入
- export default本质
本质上export default输出的是default这个变量, 相当于赋值给default这个变量,所以不能export default var a = 1
,只能export default a
相当于把a的值赋给default