webpack 的 tree-shaking 是基于 CommonJS 和 ESM ?

看书上说: 由于 @babel/preset-env 会将 ES6 Moudle 转化为 CommonJS 的形式,这会导致 Webpack 的 tree-shaking 失效。

问题有二:

  1. Webpack 的模块管理不只是CommonJS吗?
  2. Webpack 和 Rollup 的 tree-shaking 原理有何异同?
阅读 3.7k
1 个回答
  1. 错了。现在 Node.js 都已经原生支持 ESM 了,到构建工具那儿更是得啥模块化方案都支持。
  2. 底层原理可以说是一致的,但上层实现细节略有不同,甚至说 Webpack 就是从 Rollup 那学来的。因为 Tree-Shaking 这个词本身就是 Rollup 的作者 Rich Harris 发明的。而这个特性依赖于 ESM 的静态特性。
https://developer.mozilla.org...
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题