common.js

根据 CommonJs 规范,每一个文件就是一个模块,内部定义的变量是属性这个模块的,不会对外暴露,也就是说不会污染 全局变量
CommonJs 的核心思想就是通过 require方法来同步加载所要依赖的其他模块,然后通过 exports或者 module.exports 来导出需要暴露的接口
CommonJs采用同步加载不同模块文件,适用于服务器端。因为模块文件都存放在服务器的各个硬盘上,读取加载时间快。
CommonJs具有缓存,多次导入相同模块都是引用的首次导入的缓存

  1. function (module) {
  2. module.exports = {};
  3. var export = module.exports;
  4. // 模块中的代码
  5. return module.exports
  6. }

ES6 Module

ES6自带模块化,可以使用 import关键字引入模块,通过 export关键字导出模块
在不支持的浏览器中,通过 babel将不被支持的 import编译为当前支持度高的 require
使用 import关键字引入模块,通过 export关键字导出模块
注意事项:
ES6 module 采用依赖预加载模式,模块导入要写在页面顶端,不能放在判断语句以及循环语句中,导入的内容放置到常量中,不可更改。
ES6 module 使用了缓存,保证每个模块只加载一次