什么是CommonJS?
CommonJs 是一种 JavaScript 语言的模块化规范。通常在nodejs上运行。
module.export={}
什么是AMD?
// moudle-a.jsdefine('moudleA', function() { return { a: 1 }});// moudle-b.jsdefine(['moudleA'], function(ma) { var b = ma.a + 2; return { b: b }});
什么是CMD?
// moudle-a.jsdefine(function(require, exports, module) { module.exports = { a: 1 };});// moudle-b.jsdefine(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
用到的时候才会执行,所以性能好。