Skip to content
On this page

模块

rollup比较

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 开始支持 ESMNode.js 如何处理 ES6 模块

特点:异步,严格模式,编译时加载(编译时输出接口),值的引用,静态分析依赖,Tree-Shakingthis 指向 undefined