您的位置:首页 > Web前端

前端开发 AMD 和 CMD 的规范区别

2017-04-17 15:02 316 查看
AMD
规范在这里:https://github.com/amdjs/amdjs-api/wiki/AMD
CMD 规范在这里:https://github.com/seajs/seajs/issues/242

RequireJS 遵循的是
AMD(异步模块定义)规范,

SeaJS 遵循的是 CMD
(通用模块定义)规范

AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。

CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。

AMD 和 CMD 的规范区别:

1.AMD 是提前执行,CMD 是延迟执行

2. CMD 推崇依赖就近,AMD 推崇依赖前置

看代码:

// CMD

define(function(require, exports, module) {

var a = require('./a')

a.doSomething()

// 省略代码

var b = require('./b') 

// 依赖就近原则

b.doSomething()

// ...

})

// AMD 推荐

define(['./a', './b'], function(a, b) { 

// 依赖必须前面写好

a.doSomething()

// 省略代码

b.doSomething()

...

})

CommonJS Modules/2.0
规范,是 BravoJS 在推广过程中对模块定义的规范化产出。

参考:
SeaJS 和 RequireJS 的差异
LABjs、RequireJS、Sea.js 哪个最好用?为什么?
从 RequireJS 到 Sea.js 系列:(1) (2) (3) (4) (5) (要翻墙)
Sea.js 和 RequireJS
的异同(要翻墙)
AMD 与 CMD 的区别

AMD
规范在这里:https://github.com/amdjs/amdjs-api/wiki/AMD
CMD 规范在这里:https://github.com/seajs/seajs/issues/242
CommonJS
Modules/2.0 规范,是 BravoJS 在推广过程中对模块定义的规范化产出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: