1.module
模块化
AMD(提前执行):
代表【require.js】
define(['./a', './b'], function(a, b) { // 依赖必须一开始就写好
a.doSomething()
// ...
b.doSomething()
// ...
})
CMD(延迟执行):CMD 推崇 as lazy as possible
代表【sea.js】
define(function(require, exports, module) {
var a = require('./a')
a.doSomething()
// ...
var b = require('./b') // 依赖可以就近书写
b.doSomething()
// ...
})
CommonJS:require() 与 exports
// package/lib 是我们须要的一个依赖项
var lib = require('package/lib');
// 我们的模块的一些行为
function foo(){
lib.log('hello world!');
}
// 把 foo 导出(暴露)给其它模块
exports.foo = foo;