一、AMD是RequireJs在推廣過程中對模塊定義的規范化產出。
1 define(['package/lib'],function(lib){ 2 function foo(){ 3 lib.log("hello world"); 4 }; 5 return { 6 foo:foo 7 }; 8 })
特點是:依賴前置,異步模塊定義
二、CMD是SeaJs在推廣過程中對模塊定義的規范化產出。
1 //所有模塊通過defined來定義 2 define(function(require,export,module){ 3 //通過require引入依賴 4 var $=require('jqurey'); 5 var spinning=require('./spinning'); 6 })
特點是:淘寶團隊提供,依賴就近,同步概念即用即加載模塊。
三、CommonJs規范,module.exports
1 exports.area=function(r){ 2 return Math.PI*r*r; 3 } 4 5 exports.circumference=function(r){ 6 return 2*Math.PI*r; 7 }
特點是nodeJs后台采用的規范
四、ES6特性export/import
特點是成對出現,只有到處才能導入。
