es6

AMD与CMD的区别

2018-08-29  本文已影响0人  winterchao

什么是AMD模块系统和CMD模块系统

他们的区别是

  1. 对于依赖的模块,AMD是提前执行,CMD是延迟执行。不过RequireJS从2.0开始,也改成了可以延迟执行(根据写法不同,执行的方式不同)
  2. CMD推崇就近依赖,AMD推崇依赖前置。看代码
//CMD的方式
define(function(require,exprots,module){
var a = require('./a');
a.dosmting();
//省略1W行
var b = require('./b');
b.dosmting();
})
//AMD的方式
define(['./a','./b'],function(a,b){
a.dosmting();
//省略1W行
b.dosmting();
})

以上AMD的写法是官方推崇的方式,但是同时也支持CMD的写法

  1. AMD支持全局require、局部require,但是CMD不支持全局require,所以CMD没有全局API而AMD有
    其他不同之处补充:Sea.js与Require.js的异同
上一篇 下一篇

猜你喜欢

热点阅读