AMD 和 CMD 的區(qū)別有哪些?

作者:玉伯

鏈接:https://www.zhihu.com/question/20351507/answer/14859415

來源:知乎

著作權歸作者所有供鸠,轉載請聯(lián)系作者獲得授權。

AMD 規(guī)范在這里:https://github.com/amdjs/amdjs-api/wiki/AMD

CMD 規(guī)范在這里:https://github.com/seajs/seajs/issues/242

AMD 是 RequireJS 在推廣過程中對模塊定義的規(guī)范化產出。

CMD 是 SeaJS 在推廣過程中對模塊定義的規(guī)范化產出摔癣。

類似的還有 CommonJS Modules/2.0 規(guī)范,是 BravoJS 在推廣過程中對模塊定義的規(guī)范化產出纬向。

還有不少??

這些規(guī)范的目的都是為了 JavaScript 的模塊化開發(fā)择浊,特別是在瀏覽器端的。

目前這些規(guī)范的實現(xiàn)都能達成瀏覽器端模塊化開發(fā)的目的逾条。

區(qū)別:

1. 對于依賴的模塊琢岩,AMD 是提前執(zhí)行,CMD 是延遲執(zhí)行师脂。不過 RequireJS 從 2.0 開始担孔,也改成可以延遲執(zhí)行(根據(jù)寫法不同,處理方式不同)吃警。CMD 推崇 as lazy as possible.

2. CMD 推崇依賴就近糕篇,AMD 推崇依賴前置∽眯模看代碼:

// CMD

define(function(require, exports, module) {

var a = require('./a')

a.doSomething()

// 此處略去 100 行

var b = require('./b') // 依賴可以就近書寫

b.doSomething()

// ...

})

// AMD 默認推薦的是

define(['./a', './b'], function(a, b) {? // 依賴必須一開始就寫好

a.doSomething()

// 此處略去 100 行

b.doSomething()

...

})

雖然 AMD 也支持 CMD 的寫法拌消,同時還支持將 require 作為依賴項傳遞,但 RequireJS 的作者默認是最喜歡上面的寫法安券,也是官方文檔里默認的模塊定義寫法墩崩。

3. AMD 的 API 默認是一個當多個用,CMD 的 API 嚴格區(qū)分侯勉,推崇職責單一鹦筹。比如 AMD 里,require 分全局 require 和局部 require址貌,都叫 require盛龄。CMD 里,沒有全局 require,而是根據(jù)模塊系統(tǒng)的完備性余舶,提供 seajs.use 來實現(xiàn)模塊系統(tǒng)的加載啟動啊鸭。CMD 里,每個 API 都簡單純粹匿值。

4. 還有一些細節(jié)差異赠制,具體看這個規(guī)范的定義就好,就不多說了挟憔。

另外钟些,SeaJS 和 RequireJS 的差異,可以參考:https://github.com/seajs/seajs/issues/277

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末绊谭,一起剝皮案震驚了整個濱河市政恍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌达传,老刑警劉巖篙耗,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異宪赶,居然都是意外死亡宗弯,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門搂妻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蒙保,“玉大人,你說我怎么就攤上這事欲主〉瞬蓿” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵扁瓢,是天一觀的道長详恼。 經常有香客問我,道長涤妒,這世上最難降的妖魔是什么单雾? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任赚哗,我火速辦了婚禮她紫,結果婚禮上,老公的妹妹穿的比我還像新娘屿储。我一直安慰自己贿讹,他們只是感情好,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布够掠。 她就那樣靜靜地躺著民褂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赊堪,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天面殖,我揣著相機與錄音,去河邊找鬼哭廉。 笑死脊僚,一個胖子當著我的面吹牛,可吹牛的內容都是我干的遵绰。 我是一名探鬼主播辽幌,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼椿访!你這毒婦竟也來了乌企?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤成玫,失蹤者是張志新(化名)和其女友劉穎加酵,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梁剔,經...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡虽画,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了荣病。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片码撰。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖个盆,靈堂內的尸體忽然破棺而出脖岛,到底是詐尸還是另有隱情,我是刑警寧澤颊亮,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布柴梆,位于F島的核電站,受9級特大地震影響终惑,放射性物質發(fā)生泄漏绍在。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一雹有、第九天 我趴在偏房一處隱蔽的房頂上張望偿渡。 院中可真熱鬧,春花似錦霸奕、人聲如沸溜宽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽适揉。三九已至留攒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間嫉嘀,已是汗流浹背炼邀。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留剪侮,地道東北人汤善。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像票彪,于是被迫代替她去往敵國和親红淡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內容