es6 module
命名导出
// 写法1
export const name = 'xxxxx';
export const add = function(a,b){return a+b};
// 写法2
const name = 'xxxxx';
const add = function(a,b){return a+b};
export { name,add };
两种写法效果一样
默认导出
只能导出一个,不需要像命名导出一样进行变量声明
// 导出字符串
export default 'sb';
// 导出class
export default class {...}
// 导出匿名函数
export default function(){...}
在导入一个模块时,commonJS获取的是一份导出值得拷贝,而es6 module则是值的动态映射,并且这个 映射是只读的。