1. 程式人生 > >淺談AMD和CMD

淺談AMD和CMD

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

這些規範的目的都是為了 JavaScript 的模組化開發,特別是在瀏覽器端的。

對於依賴的模組,AMD 是提前執行,CMD 是延遲執行

依賴方式

AMD 推崇依賴前置,CMD 推崇依賴就近

例:

// AMD 預設推薦
define([‘./a’, ‘./b’], function(a, b) { // 依賴必須一開始就寫好
a.doSomething()
……
……
b.doSomething()

})

// CMD 預設推薦
define(function(require, exports, module) {
var a = require(‘./a’)
a.doSomething()
……
……
var b = require(‘./b’) // 依賴可以就近書寫


b.doSomething()

})

PS: AMD 也支援 CMD 的寫法,同時也支援將 require 作為依賴項傳遞,但 RequireJS 的作者預設是推薦上面的寫法,也是官方文件裡預設的模組定義寫法。