AMD與CMD區別


1.Javascript不是一種模塊化編程語言,它不支持"類"(class),更不用說"模塊"(module)了(es6支持類和模塊化)

AMD(異步執行) 是 RequireJS 在推廣過程中對模塊定義的規范化產出。
CMD (同步執行)是 SeaJS 在推廣過程中對模塊定義的規范化產出。

都是為了 JavaScript 的模塊化開發,都能達成瀏覽器端模塊化開發的目的

區別:
1. 對於依賴的模塊, AMD 是提前執行CMD 是延遲執行。不過 RequireJS 從 2.0 開始,也改成可以延遲執行(根據寫法不同,處理方式不同)。CMD 推崇 as lazy as possible.
2. CMD 推崇 依賴就近,AMD 推崇 依賴前置
  AMD在一開始就要加載它所依賴的全部項,而CMD則是需要用到哪個具體的依賴項才會去執行。
雖然 AMD 也支持 CMD 的寫法,同時還支持將 require 作為依賴項傳遞,但 RequireJS 的作者默認是最喜歡上面的寫法,也是官方文檔里默認的模塊定義寫法。
3. AMD 的 API 默認是 一個當多個用,CMD 的 API 嚴格區分,推崇 職責單一
比如 AMD 里,require 分全局 require 和局部 require,都叫 require。CMD 里,沒有全局 require,而是根據模塊系統的完備性,提供 seajs.use 來實現模塊系統的加載啟動。CMD 里,每個 API 都 簡單純粹
************************************
推薦大家去阮一峰大神的博客參考關於AMD的資料哦!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM