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