模塊化開發中cmd和amd的區別

AMD 是 RequireJS 在推廣過程當中對模塊定義的規範化產出。
CMD 是 SeaJS 在推廣過程當中對模塊定義的規範化產出。ui

1. 對於依賴的模塊,AMD 是提早執行,CMD 是延遲執行。不過 RequireJS 從 2.0 開始,也改爲能夠延遲執行(根據寫法不一樣,處理方式不一樣)。CMD 推崇 as lazy as possible.文檔

2. CMD 推崇依賴就近,AMD 推崇依賴前置。CMD中依賴的東西能夠在哪裏使用就在哪裏加載,而AMD則須要在最開始的時候就將須要的依賴全都加載進來。雖然 AMD 也支持 CMD 的寫法,同時還支持將 require 做爲依賴項傳遞,但 RequireJS 的做者默認是最喜歡上面的寫法,也是官方文檔裏默認的模塊定義寫法。io

3.AMD 的 API 默認是一個當多個用,CMD 的 API 嚴格區分,推崇職責單一。好比 AMD 裏,require 分全局 require 和局部 require,都叫 require。CMD 裏,沒有全局 require,而是根據模塊系統的完備性,提供 seajs.use 來實現模塊系統的加載啓動。CMD 裏,每一個 API 都簡單純粹seajs

 

以上言論來自https://www.zhihu.com/question/20351507以及本身總結理解,具體可查看原文。require

相關文章
相關標籤/搜索