高大上的AMD和CMD的区别

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

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

区别:
1、区域以来的模块,AMD是提前执行,CMD是延迟执行。不过RequireJS从2.0开始,也改成可以延迟执行(根据写法不同,处理方式不同)。CMD推崇as lazy as possible.
2、CMD推崇依赖就近,AMD推崇依赖前置。

//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,谢谢

    原文作者:D一生
    原文地址: https://segmentfault.com/a/1190000004471525
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞