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

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


米姐胡扯扯
9 声望6 粉丝

市民小胡