AMD规范,全称是Asynchronous Module Definition, 即异步加载模块机制。是RequireJS在推广过程中对模块定义的规范化产出。对于依赖的模块提前执行,依赖前置。
CMD规范,全称是Common Module Definition, 是SeaJS在推广过程中对模块定义的规范化产出。对于依赖的模块延迟执行,依赖就近。
AMD 优点:
- 适合在浏览器环境中异步加载
- 可以并行加载多个模块
AMD缺点:
- 提高了开发成本,代码的阅读和书写比较困难,模块定义方式的语音不顺畅
- 不符合通用的模块化思维方式,是一种妥协的方式
CMD优点:
- 依赖就近,延迟执行
- 可以很容易在Node.js中运行
CMD缺点:
- 依赖SPM打包,模块的加载逻辑偏重。