常见构建工具的对比
- webpack
- rollup/esbuild
- vite
向更快、更小、更易用的方向发展。
webpack
- 2012, 至今已经十几年,配置非常灵活,解决方案很成熟,该踩得坑已经踩完了,已经成熟和稳定了
- 这也是它的缺点了,配置过于复杂,不宜用,属于是什么都能干,什么都不精。
rollup
- 只支持 ES6 的语法模块的打包。ESM 模块语法是规范标准,支持直接进行静态语法分析,从而原生支持一部分
tree-shaking。 - 配置大多针对于
tree-shaking和code-splitting的优化策略, 打包出来的代码体积小。
esbuild
- 打包速度快,go写的;
- 配置灵活度不高,侧重快速构建,没有复杂的配置选项;
vite
- 侧重于应用页面的构建,而不是库开发;
过程
- 启动时,使用 esbuild 来预构建,从而减少未来对
node_modules的请求数量; - 开发时,底层基于 es6 原生模块请求,热更新速度快;
- 打包时,基于 rollup;