CommonJS
CommonJS是服务器端模块的规范,Node.js采用了这个规范。
根据CommonJS规范,一个单独的文件就是一个模块。
加载模块使用require方法,该方法读取一个文件并执行,最后返回文件内部的exports对象
//example.js
console.log("evaluating example.js");
var invisible = function () {
console.log("invisible");
}
exports.message = "hi";
exports.say = function () {
console.log(message);
}
使用require方法,加载example.js
var example = require('./example.js');
有时,不需要exports返回一个对象,只需要它返回一个函数。这时,就要写成module.exports
module.exports = function () {
console.log("hello world")
}
AMD
CommonJS规范加载模块是同步的,AMD规范则是非同步加载模块,允许指定回调函数。
AMD规范使用define方法定义模块:
define(['package/lib'], function(lib){
function foo(){
lib.log('hello world!');
}
return {
foo: foo
};
});
原文链接:http://yijiebuyi.com/blog/7c8ffb3a58657e01e80f3bdc747473d2.html