es6 export 和 export default的区别
2019-05-27 本文已影响0人
CjLilard
1.在一个文件或模块中,export、import可以有多个,export default仅有一个
2.通过export方式导出,在导入和导出时要加{ },export default则不需要
注意:
export 命令规定的是对外接口,必须与模块内部变量建立一一对应的关系
// 写法一 export var m = 1;
// 写法二 var m = 1; export {m};
// 写法三 var n = 1; export {n as m};
// 报错 export 1;
// 报错 var m = 1; export m;
报错的写法原因是:没有提供对外的接口,第一种直接输出1,第二种虽然有变量m,但还是直接输出1,导致无法解构。
同样的,function和class的输出,也必须遵守这样的写法。
// 报错
function f() {}
export f;
// 正确
export function f() {};
// 正确
function f() {}
export {f};