CommonJS、CMD、AMD、NodeJS創造JavaScript的未來

CMD是國內玉伯大神在開發SeaJS的時候提出來的,屬於CommonJS的一種規範,此外還有AMD,其對於的框架是RequireJS


1、二者都是異步模塊定義(Asynchronuous Module Definition)的一個實現;

2、CMDAMD都是CommonJS的一種規範的實現定義,RequireJSSeaJS是對應的實踐;

3、CMDAMD的區別:CMD相當於按需加載,定義一個模塊的時候不需要立即制定依賴模塊,在需要的時候require就可以了,比較方便;而AMD則相反,定義模塊的時候需要制定依賴模塊,並以形參的方式引入factory中。
區別看下邊例子:

//AMD方式定義模塊
define(['dep1','dep2'],function(dep1,dep2){
     //內部只能使用制定的模塊
      return function(){};
});
//CMD
define(function(require,exports,module){
   //此處如果需要某XX模塊,可以引入
   var xx=require('XX');
});

4、JavaScript語言是弱結構性的,通過CommonJS定義一些規範,CMDAMD得定義模塊的方式對代碼進行管理,使得更易維護;此外,NodeJS的誕生,對模塊的規範定義,和包(NPM)的概念的引入,讓JS管理不再困難,一個字,爽爆了!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章