最近在學習nodejs的KOA框架,在查資料的時候碰見了點問題,順着信息一步一步找下去,讓我瞭解了一下一直以來不是很明白的何時用AMD規範,何時用CommonJS規範問題。node
二者在開發的過程當中也有本身的不一樣點:編程
(1) CommonJS定義一個單獨的文件就是一個模塊,經過exports返回,好比:瀏覽器
文件//message.js服務器
exports.message = {網絡
console.log("this is a message module");框架
};異步
在另一個文件中,就能夠經過require的方式對它進行加載:ide
文件//use.js函數
//加載學習
var message = require('message');
//使用下面的方法
message.message(); ==> "this is a message module"
(2) AMD規範是非同步的,容許指定回調函數,主要用於客戶端編程。
模塊的開發方式,使用define方法
//module a.js
define([],function(){
var obj = {
show:function(){
console.log("show");
}
}
return obj;
});
//在b.js模塊中引入a.js
define(['a'],function(){
var obj_b = {
hideAfterShow:function(){
a.show();
console.log('hide');
}
}
return obj_b;
});
參考連接:http://www.open-open.com/doc/view/f7df10bb81c347f79b436faa85dcfd81