AMD 和 CMD 的區別有哪些


在說AMD 和 CMD 的區別之前,先說明commonjs,它的回調和amd、cmd的不同於:
commomjs加載完了所有模塊,才執行回調
amd和cmd是加載對應的模塊,就可以執行回調中對應的代碼


1、從官方推薦的寫法上面得出:

CMD ----- 依賴就近Js代碼
//CMD 
define(function(require,exports,module){ 
    var a = require('./a'); 
    a.doSomthing(); 
}); 
AMD ----- 依賴前置

Js代碼
//AMD 
define(['./a','./b'],function(a,b){ 
//...... 
a.doSomthing(); 
//...... 
b.doSomthing(); 
}) 
當然AMD也支持CMD的寫法。

2、執行順序上
  a. CMD是延遲執行,推崇的是as lazy as possible
  b. AMD是提前執行,requireJS從2.0開始可以延遲執行

3、api設計角度:

  CMD的API推崇職責單一,沒有全局的require

  AMD的API默認是一個當多個用:比如require有全局的和局部的


  


免責聲明!

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



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