common.js
根据 CommonJs
规范,每一个文件就是一个模块,内部定义的变量是属性这个模块的,不会对外暴露,也就是说不会污染 全局变量
。CommonJs
的核心思想就是通过 require
方法来同步加载所要依赖的其他模块,然后通过 exports
或者 module.exports
来导出需要暴露的接口CommonJs
采用同步加载不同模块文件,适用于服务器端。因为模块文件都存放在服务器的各个硬盘上,读取加载时间快。CommonJs
具有缓存,多次导入相同模块都是引用的首次导入的缓存
function (module) {
module.exports = {};
var export = module.exports;
// 模块中的代码
return module.exports
}
ES6 Module
ES6自带模块化,可以使用 import
关键字引入模块,通过 export
关键字导出模块
在不支持的浏览器中,通过 babel
将不被支持的 import
编译为当前支持度高的 require
使用 import
关键字引入模块,通过 export
关键字导出模块
注意事项:
ES6 module 采用依赖预加载模式,模块导入要写在页面顶端,不能放在判断语句以及循环语句中,导入的内容放置到常量中,不可更改。
ES6 module 使用了缓存,保证每个模块只加载一次