Vite 8、Rspack 2、Webpack 5 实测对比:开发启动、HMR 和生产构建,三个指标指向三个不同的答案
一个中型 React 代码库上的实测数据,把“换构建工具”这件事从体感变成了可比较的数字。rstackjs 的基准(2026 年 7 月 18 日,react-1k 工作负载,开启压缩和 source map)给出了三个工具在三个维度上的表现。
开发启动:Rspack 2.1.4 是 1,097 ms,Vite 8.1.5 是 6,428 ms,Webpack 5.108.4 是 5,247 ms。Rspack 在这个维度上明显领先,Vite 的原始 dev-server 启动在这个工作负载上甚至比 Webpack 还慢。
HMR:Rspack 是 148 ms,Vite 是 152 ms,Webpack 是 379 ms。Rspack 和 Vite 几乎打平,Webpack 慢了一倍多。
生产构建:Vite 是 567 ms,Rspack 是 630 ms,Webpack 是 4,638 ms。Vite 8 把旧的 esbuild + Rollup 管线换成了 Rolldown,一个 Rust 打包器,Vite 团队声称生产构建加速 10—30 倍。
这三个指标指向三个不同的答案。如果你的主要痛点是“每天启动 dev server 等太久”,Rspack 的 1 秒启动是最直接的改善。如果你的痛点是“保存之后等 HMR 刷新”,Rspack 和 Vite 都在 150 ms 量级,Webpack 的 379 ms 明显落后。如果你的痛点是“CI 里生产构建跑太久”,Vite 8 的 567 ms 是最快的,Webpack 的 4.6 秒在这个维度上已经不是一个量级。
但 Vite 的 6,428 ms 启动需要上下文。Vite 的 lazy file serving 使用原生 ESM,dev server 启动时并不打包所有东西,而是在浏览器请求时按需转换和提供模块。这意味着“启动时间”这个指标对 Vite 的语义和其他工具不完全一样:它启动的是一个按需服务的服务器,而不是一个完成了打包的进程。在实际开发中,Vite 的首屏加载体验可能比 6,428 ms 这个数字看起来更好,也可能在大型依赖图上更差,取决于你的入口和依赖结构。
Webpack 在 2026 年仍然是活跃的,v5.109.2 在 2026 年 7 月发布,周下载量 5,570 万。它的位置是遗留企业代码库和复杂的 loader/plugin 链,不是新项目。Snowpack 自 2022 年 4 月起已废弃,维护者推荐 Vite。
一个务实的迁移判断是:新项目用 Vite,它同时拥有最广的框架支持和最丰富的插件生态,生产构建的 Rolldown 管线已经统一了 dev 和 prod 的失败方式;Webpack 重度、loader 链复杂的存量项目用 Rspack,它的近 drop-in 兼容性让迁移成本以小时而不是周计,周下载量从 1.0 到 2.0 期间从 10 万涨到 500 万,说明这条路径有真实的采纳;原型和小型应用可以用 Parcel,4,273 ms 启动和 4,288 ms 生产构建不是最快的,但零配置的体验对混合技能团队有吸引力。构建工具的选型不是“谁最快”,是“你最常等的那一次,哪个工具让它最短”。
- 点赞
- 收藏
- 关注作者
评论(0)