服务器端 CommonJS(同步加载)
-
1.文件即模块
2.使用module.exports(exports) 暴露对外的接口
3.require同步加载依赖模块
function area(r){
return Math.PI*r*r;
}
module.exports={
area:area
}
浏览器端RequireJS(异步加载)
-
1.define定义模块
2.require调用模块
3.在定义模块的时候就要声明其依赖的模块(推崇依赖前置)
define(['./a', './b'], function(a, b) {
a.doSomething()
b.doSomething()
})
浏览器端SeaJS(同步加载)
-
1.define定义模块
2.require调用模块
3.只有在用到某个模块的时候再去 require(推崇依赖就近)
define(function(require, exports, module) {
var a = require('./a')
a.doSomething()
var b = require('./b')
b.doSomething()
})