一.AMD, CMD, CommonJs和ES6对比
1.AMD ==> 是RequireJS在推广过程中对模块定义的规范化产出
// RequireJS定义标准, 导步加载依赖, 依赖前置
define(['package/lib'], function(lib){
function foo(){
lib.log("hello world!")
} return {
foo: foo
}
})
2.CMD ==> 是SeaJS在推广过程中对模块定义的规范化产出
// SeaJS定义标准, 同步加载依赖, 淘宝开发的模块
// 所有模块都通过define来定义
define(function(require, exports, module){
// 通过 require引入依赖
var $ = require("jquery");
var Spinning = require("./spinning");
})
3.CommonJS ==> module.exports node.js后端使用 (浏览器不支持)
// node.js服务器定义模块化
exports.area = function(r){
return Math.PI * r * r;
} exports.circumference = function(r){
return 2 * Math.PI * r;
}
4.ES6 ==> export/import