高大上的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

相關文章
相關標籤/搜索