Appearance
模块
CJS
全称:Common Js
环境:服务端
应用:Node.js
特点:同步,运行时加载,值的拷贝,this 指向当前模块
AMD
全称:Asynchronous Module Definition
环境:浏览器
应用:require.js
特点:异步,依赖前置,提前执行
CMD
全称:Common Module Definition
环境:浏览器
应用:sea.js
特点:异步,依赖就近,延迟执行,AMD 的优化版
UMD
全称:Universal Module Definition
条件判断,兼容 CJS、AMD、CMD 写法
ESM
全称:ECMAScript Module
环境:浏览器( Node.js v13.2.0 开始支持 ESM ,Node.js 如何处理 ES6 模块)
特点:异步,严格模式,编译时加载(编译时输出接口),值的引用,静态分析依赖,Tree-Shaking,this 指向 undefined