什么是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

用到的时候才会执行,所以性能好。