Webpack-面试-模块化与打包原理
2026年10月16日·Admin·1 次浏览
面试题:Webpack 如何理解 import?CommonJS 与 ESModule 互操作?
静态分析
Webpack 从 entry 出发,静态分析 import/require(及部分动态 import()),建立 依赖图。循环依赖需按规范理解执行顺序。
CJS vs ESM
- ESM:
import/export,静态结构利于 tree-shaking。 - CJS:
module.exports,常需运行时才能确定导出;老包可能 sideEffects 标不好 → 摇树不彻底。
__webpack_require__
打包产物里用运行时函数模拟模块加载、缓存 module.exports,实现浏览器无原生模块时代的加载。