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

小咪咪 2022-06-17 04:49 309阅读 0赞

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 是延迟执行

  1. 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 在推广过程中对模块定义的规范化产出。

发表评论

表情:
评论列表 (有 0 条评论,309人围观)

还没有评论,来说两句吧...

相关阅读

    相关 CommonJS,AMDCMD区别

    zccst转载  学得比较晕,再次看commonjs,amd, cmd时好像还是没完全弄清楚,今天再整理一下:  commonjs是用在服务器端的,同步的,如no