1. 程式人生 > >AMD與CMD區別

AMD與CMD區別

關系 sea 問題 不同 屬於 原生 運行 延遲 停止

AMD:異步模塊定義,是一個瀏覽器端模塊化開發的規範,由於不是原生JS支持,使用AMD規範需要用到require.js庫
require.js註意解決兩個問題
1、多個js文件可能有依賴關系,被依賴的文件需要早於依賴它的文件加載到瀏覽器
2、js加載的時候瀏覽器會停止頁面渲染,加載文件越多,頁面失去響應的時間就越長

CMD:CMD規範是國內發展出來的,使用CMD需要使用到Sea.js,sea.js需要解決的問題和require一樣,只不過模塊加載時機上有所不同
Sea.js推崇一個模塊一個文件

AMD屬於依賴前置,提前把依賴關系都設定好,js運行時很快就能知道依賴模塊是誰,立即加載
CMD屬於懶加載,需要把模塊變成字符串解析一遍才知道依賴了哪些模塊

AMD用戶體驗好,因為沒有延遲,依賴模塊提前就執行了,CMD性能好,因為只有用戶需要時才執行

AMD與CMD區別