最近在学习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