CommonJS是nodejs中服务器端的规范范畴,AMD,CMD是客户端浏览器的范畴
AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。
CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。(淘宝大牛玉伯)
对于依赖的模块,AMD是提前执行,CMD是延迟执行,requirejs从2.0开始也可以延迟执行
CMD推崇依赖就近,AMD推崇依赖前置,比如:CMD会在方法中引用,而AMD则在头部define,依赖必须一开始就写好,代码如下
// 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()
...
})
网友评论