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()
// ...
})