1:对于依赖
AMD是提前执行,CMD是延迟执行。
从requireJS 2.0开始CDM改成延迟执行(根据写法不一样,处理方式也不一样)。
CMD推崇懒加载 as lazy as possible.
2:对于依赖AMD推崇前置,CMD推崇依赖前置。
从列子看看区别吧!
// CMD
define(function(require, exports, module) {
var a = require('./a')
a.doSomething()
// 此处略去 100 行
var b = require('./b') // 依赖可以就近书写
b.doSomething()
// ...
})// AMD
define(['./a', './b'], function(a, b) { // 依赖必须一开始就写好
a.doSomething()
// 此处略去 100 行
b.doSomething()
// ...
})
AMD与CMD模块加载差异
本文对比了AMD和CMD两种JavaScript模块加载方式的主要差异。AMD推崇依赖前置且依赖项需在定义之初声明;而CMD则支持按需加载依赖,允许开发者将依赖声明分散在代码各处,更利于实现模块化和代码组织。
1012

被折叠的 条评论
为什么被折叠?



