CommonJS 规范主要解决服务端中 library 的导入导出问题。
NodeJS(同时也包括 webpack 与 npm)是CommonJS规范的实现
由于 CommonJS 规范引入依赖的方式是同步的,而在浏览器端需要进行异步加载,因此创建了 AMD 规范用于浏览器端管理依赖问题。
require.js 是AMD 规范的一管实现。
UMD 是AMD和CommonJS的糅合。UMD先判断是否支持Node.js的模块(exports)是否存在,存在则使用Node.js模块模式。 在判断是否支持AMD(define是否存在),存在则使用AMD方式加载模块。