es6 module

命名导出

  1. // 写法1
  2. export const name = 'xxxxx';
  3. export const add = function(a,b){return a+b};
  4. // 写法2
  5. const name = 'xxxxx';
  6. const add = function(a,b){return a+b};
  7. export { name,add };

两种写法效果一样

默认导出

只能导出一个,不需要像命名导出一样进行变量声明

  1. // 导出字符串
  2. export default 'sb';
  3. // 导出class
  4. export default class {...}
  5. // 导出匿名函数
  6. export default function(){...}

在导入一个模块时,commonJS获取的是一份导出值得拷贝,而es6 module则是值的动态映射,并且这个 映射是只读的。