Skip to content

UMD

UMD(Universal Module Definition)是一种通用模块定义规范,它是为了统一 CommonJS 和 AMD 两种模块定义规范而设计的。

UMD 定义的模块会在启动时检测要使用哪个模块的系统,然后进行适当配置,并把所有逻辑包装在一个立即执行函数表达式中。

js
(function (root, factory) {
    if (typeof define === 'function' && define.amd) {
        // AMD
        define([], factory);
    } else if (typeof module === 'object' && module.exports) {
        // Node, CommonJS-like
        module.exports = factory();
    } else {
        // Browser globals (root is window)
        root.umdModuleDemo = factory();
    }
}(this, function () {
    // 模块代码
    return {
        add: function (a, b) {
            return a + b;
        }
    };
}));
js
// 使用模块
var umdDemo = require('./umd-module-demo');
console.log(umdDemo.add(2, 3)); // 输出:5