什么是 CommonJS?
CommonJs 是一种 JavaScript 语言的模块化规范。通常在 nodejs 上运行。
module.export={}
什么是 AMD?
// moudle-a.js
define('moudleA', function() {
return {a: 1}
});
// moudle-b.js
define(['moudleA'], function(ma) {
var b = ma.a + 2;
return {b: b}
});
什么是 CMD?
// moudle-a.js
define(function(require, exports, module) {
module.exports = {a: 1};
});
// moudle-b.js
define(function(require, exports, module) {var ma = require('./moudle-a');
var b = ma.a + 2;
module.exports = {b: b};
});
什么是 UMD?
它没有自己专有的规范,是集结了 CommonJs、CMD、AMD 的规范于一身。
((root, factory) => {if (typeof define === 'function' && define.amd) {
//AMD
define(['jquery'], factory);
} else if (typeof exports === 'object') {
//CommonJS
var $ = requie('jquery');
module.exports = factory($);
} else {root.testModule = factory(root.jQuery);
}
})(this, ($) => {//todo});
AMD 与 CMD 的区别与联系?
AMD 推崇依赖前置,在定义模块的时候就要声明其依赖的模块
依赖模块提前执行,所以用户体验好。
CMD 推崇就近依赖,只有在用到某个模块的时候再去 require
用到的时候才会执行,所以性能好。