天天看點

AMD與CDM RequireJS與SeaJS CommonJS 的認識

CommonJS是一種規範,包括很多内容,NodeJS是這種規範的實作。

RequireJS與SeaJS 都是子產品加載器。RequireJS工作于web浏覽器端,同時也工作于web伺服器端,SeaJS專注于web浏覽器端。 

RequireJS與SeaJS 的差異,可以參考:https://github.com/seajs/seajs/issues/277   http://www.douban.com/note/283566440/

AMD與CDM是屬于CommonJS的,它們都是子產品規範,它們是在RequireJS與SeaJS 的推廣過程中産生的。

AMD 規範在這裡: https://github.com/amdjs/amdjs-api/wiki/AMD-(%E4%B8%AD%E6%96%87%E7%89%88)

CMD 規範在這裡: https://github.com/seajs/seajs/issues/242 (内有彩蛋,一點就通) 彩蛋:exports 是module.exports的引用。對exports的指派重寫實際上不會改變子產品的屬性或方法,需通過對module.exports進行指派,或者直接return。

AMD與CDM的差別:

1.對于于依賴的子產品,AMD 是提前執行(好像現在也可以延遲執行了),CMD 是延遲執行。

2.AMD 推崇依賴前置,CMD 推崇依賴就近。

3.AMD 推崇複用接口,CMD 推崇單用接口。

4.書寫規範的差異,不具體說明了。