高大上的AMD和CMD的区别

今天小小的卖弄下AMD和CMD的区别,也是刚刚学,不对之处,请指正,包含!
AMD是RequireJS在推广过程当中对模块定义的规范化产出;
CMD是SeaJS在推广过程当中对模块定义的规范化产出;浏览器

这些规范的目的都是为了Javascript的模块化开发,特别是在浏览器端的。
目前这些规范的实现都能达成浏览器模块化开发的目的;模块化

区别:
一、区域以来的模块,AMD是提早执行,CMD是延迟执行。不过RequireJS从2.0开始,也改为能够延迟执行(根据写法不一样,处理方式不一样)。CMD推崇as lazy as possible.
二、CMD推崇依赖就近,AMD推崇依赖前置。ui

//CMD
define(function(require,exports,module){
    var a = require("./a");
    a.doSomethis();
    var b = require("./b")//依赖能够就近书写
    b.doSomething()
})
//AMD
define(['./a,./b'],function(a,b){//依赖必须一开始就写好
    a.dosomething()
    b.dosomething()
})

文中内容来自于https://www.zhihu.com/question/20351507/answer/14859415,谢谢this

相关文章
相关标签/搜索