JavaScript模块化开发主要有四种方法:1. CommonJS(Node.js默认,同步加载,导出值拷贝);2. AMD(浏览器异步设计,依赖前置);3. CMD(就近依赖,延迟加载);4. ES6 Module(标准规范,静态分析、实时绑定、原生支持,推荐新项目使用)。
Jav
aScript模块化开发主要有四种方法:CommonJS、AMD、CMD 和 ES6 Module。
主要用于服务器端,通过 require() 加载模块,module.exports 或 exports 导出接口。每个文件是一个独立模块,模块加载是同步的。
为浏览器异步加载设计,代表实现是 RequireJS。使用 define() 定义模块,require() 加载依赖。
由 SeaJS 提倡,强调“就近依赖”,即在用到时才 require(),更符合直觉。
ECMAScript 2015 正式引入,使用 import 和 export,静态分析、编译时确定依赖关系。
不复杂但容易忽略:ES6 Module 的 import 必须写在顶层作用域,不能放在 if 或函数里;动态导入可用 import() 函数实现。