乐趣区

UMD-AMD-CMD-CommonJS

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

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

退出移动版