UMD 的全称是 Universal Module Definition,意为通用模块定义,是一种让 JavaScript 模块可以同时适用于浏览器环境和 Node.js 环境的规范。
相信很多 JavaScript 程序员都已经熟悉了 AMD、CommonJS 和 ES6 Modules,这三种模块化规范各自得到了不同程度的支持,比如 Node.js 环境只支持 CommonJS 规范,浏览器环境则可以使用 AMD 模块或者 ES6 Modules。
UMD 解决了 AMD、CommonJS 和 ES6 Modules 的跨界问题,兼容了这三种规范,让编写应用或者组件的时候无需担心环境适配问题,拥有更大的灵活性和可扩展性。