AMD 是 RequireJS 在推广过程中对模块定义的规范化产出,而CMD 是 SeaJS 在推广过程中对模块定义的规范化产出,
也就是,RequireJS遵循AMD规范,而Sea.js遵循CMD规范
eaJs遵循CMD规范为通用模块规范,RequireJs遵循AMD规范为异步模块规范。CMD依赖就近,AMD依赖前置。
//CMD Common Module Definition
define(function(require, exports, module) {
var a = require('./a')
a.doSomething()
//...
var b = require('./b') // 依赖可以就近书写
b.doSomething()
// ...
})
//AMD Asynchronous Module Definition
define(['./a', './b'], function(a, b) { // 依赖必须一开始就写好
a.doSomething()
//...
b.doSomething()
//...
})
AMD和CMD都是浏览器端的js模块化规范,分别由require.js和sea.js实现。 CommonJS是服务器端的js模块化规范,由NodeJS实现。
第一:首先区分浏览器端和服务器端的js模块化规范。
1)浏览器端的js模块化规范:AMD 和 CMD
2)服务器端的js模块化规范:CommonJS(注:由NodeJS实现)
第二:浏览器端的js模块化规范分别由什么实现。
1)AMD是由require.js实现的(记忆法,认为A是Async异步, 依赖前置,就是所有的依赖必须放在最前面)
2)CMD是由sea.js实现的(依赖就近,所有依赖需要了再引入)
标签:CMD,规范,模块化,require,JavaScript,AMD,js,描述 From: https://www.cnblogs.com/longmo666/p/17811605.html