Skip to content

常见构建工具的对比

  • webpack
  • rollup/esbuild
  • vite

向更快、更小、更易用的方向发展。

webpack

  • 2012, 至今已经十几年,配置非常灵活,解决方案很成熟,该踩得坑已经踩完了,已经成熟和稳定了
  • 这也是它的缺点了,配置过于复杂,不宜用,属于是什么都能干,什么都不精。

rollup

  • 只支持 ES6 的语法模块的打包。ESM 模块语法是规范标准,支持直接进行静态语法分析,从而原生支持一部分 tree-shaking
  • 配置大多针对于 tree-shakingcode-splitting 的优化策略, 打包出来的代码体积小。

esbuild

  • 打包速度快,go写的;
  • 配置灵活度不高,侧重快速构建,没有复杂的配置选项;

vite

  • 侧重于应用页面的构建,而不是库开发;

过程

  • 启动时,使用 esbuild 来预构建,从而减少未来对 node_modules 的请求数量;
  • 开发时,底层基于 es6 原生模块请求,热更新速度快;
  • 打包时,基于 rollup;