Vite v7.0 已正式发布。
Vite(法语意为 "快速的",发音
/vit/
,发音同 "veet")是一种新型前端构建工具,能够显著提升前端开发体验。它主要由两部分组成:
一个开发服务器,它基于原生 ES 模块提供了丰富的内建功能,如速度快到惊人的模块热替换(HMR)。
一套构建指令,它使用 Rollup 打包你的代码,并且它是预配置的,可输出用于生产环境的高度优化过的静态资源。
Node.js 支持
Vite 现在要求使用 Node.js 20.19+ 或 22.12+。由于 Node.js 18 已于 2025 年 4 月底达到生命周期终点(EOL),我们已不再支持该版本。
我们要求使用这些新的 Node.js 版本范围,以确保 Node.js 可以无需启用标志即可支持require(esm)
。这使我们能够仅以 ESM 格式发布 Vite 7.0,同时不会阻止 CJS 模块通过require
调用 Vite 的 JavaScript API。有关当前 ESM 在生态系统中的发展状况的详细分析,请查看 Anthony Fu 的文章《迈向纯 ESM》。
默认浏览器兼容性目标已更改为 Baseline Widely Available
Baseline为我们提供了明确的信息,指出了哪些 Web 平台特性在当今主流浏览器中可用。Baseline Widely Available,表示该功能已经十分成熟,可在多种设备和浏览器版本中正常工作,并且在各浏览器中至少已支持 30 个月。
在 Vite 7 中,默认浏览器目标将从'modules'
更改为新的默认值:'baseline-widely-available'
。每当我们发布一个重大版本时,所支持的浏览器列表都会更新,以匹配与“Baseline Widely Available”特性兼容的最低浏览器版本。Vite 7.0 中build.target
的默认浏览器值变化如下:
- Chrome 87 → 107
- Edge 88 → 107
- Firefox 78 → 104
- Safari 14.0 → 16.0
这一变化为未来版本的浏览器兼容性带来了更高的可预测性。
Vitest
对于 Vitest 用户而言,Vite 7.0 从 Vitest 3.2 开始得到支持。你可以阅读Vitest 3.2 发布博客,了解更多关于 Vitest 团队如何持续改进 Vite 测试功能的内容。
Environment API
Vite 6 是自 Vite 2 以来最具意义的一次重大发布,它通过全新的实验性 Environment API引入了多项新功能。我们暂时将这些新 API 保持为实验性状态,以便生态系统逐步评估它们在各类项目中的适用性并提供反馈。如果你正在基于 Vite 构建项目,我们鼓励你尝试使用这些新 API,并通过此开放讨论话题向我们提供你的使用反馈。
在 Vite 7 中,我们新增了一个buildApp
钩子,使插件能够协调环境的构建过程。详情请参阅面向框架的 Environment API 指南。
我们要感谢那些一直在测试新 API 并帮助我们稳定新功能的团队。例如,Cloudflare 团队宣布了其 Cloudflare Vite 插件的 1.0 版本发布,并正式支持 React Router v7。他们的插件展示了 Environment API 在运行时提供者方面的潜力。要了解更多关于他们的实现方式和未来计划,请查看文章“Just use Vite”… with the Workers runtime。
迁移到 Vite 7
从 Vite 6 升级到 Vite 7 应该是一次平滑的体验。我们移除了已弃用的功能,例如 Sass 的旧版 API 支持以及splitVendorChunkPlugin
,这些改动不会影响你的项目。我们仍然建议你在升级前查看详细的迁移指南。
所有变更的完整列表请见Vite 7 更新日志。