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

来源:互联网 发布:solr数据没有了 编辑:程序博客网 时间:2024/06/05 06:35

AMD 规范在这里:github.com/amdjs/amdjs-
CMD 规范在这里:github.com/seajs/seajs/

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 规范在这里:github.com/amdjs/amdjs-
CMD 规范在这里:github.com/seajs/seajs/
CommonJS Modules/2.0 规范,是 BravoJS 在推广过程中对模块定义的规范化产出。
0 0
原创粉丝点击