Vite 7.0 发布
2025 年 6 月 24 日

我们很高兴分享 Vite 7 的发布!距离 Evan You 向 Vite 仓库提交第一个 commit 已经过去了 5 年,没有人能预测到前端生态系统自此会发生多大的变化。大多数现代前端框架和工具现在都在协同工作,建立在 Vite 共享的基础设施之上。并且它们可以通过在更高层次上共享,以更快的速度进行创新。Vite 现在的周下载量已达 3100 万次,自上次大版本发布以来的过去七个月中增加了 1400 万次。
今年,我们迈出了几大步。首先,ViteConf 将改为线下举行!Vite 生态系统将于 10 月 9-10 日在阿姆斯特丹聚会!由 JSWorld 与 Bolt、VoidZero 和 Vite 核心团队合作组织!我们已经举办了三届精彩的 ViteConf 在线版,我们迫不及待地想在现实生活中见面。请在 ViteConf 网站 查看演讲者名单并获取门票!
VoidZero 继续在其为 JavaScript 生态系统构建开源统一开发工具链的使命上取得重大进展。在过去的一年里,VoidZero 团队一直在开发 Rolldown,这是一个基于 Rust 的下一代打包工具,作为现代化 Vite 核心的更广泛努力的一部分。你今天可以通过使用 rolldown-vite 包而不是默认的 vite 包来尝试基于 Rolldown 的 Vite。它是一个无缝替换,因为 Rolldown 将成为 Vite 未来的默认打包工具。切换应该可以减少你的构建时间,尤其是对于大型项目。请在 Rolldown-vite 公告博客文章 和我们的 迁移指南 中阅读更多内容。
通过 VoidZero 和 NuxtLabs 之间的合作,Anthony Fu 正在致力于创建 Vite DevTools。它们将为所有基于 Vite 的项目和框架提供更深层次、更有洞察力的调试和分析。你可以在 VoidZero 和 NuxtLabs 联手打造 Vite Devtools 的博客文章 中阅读更多内容。
快速链接:
使用 vite.new 在线体验 Vite 7,或者运行 pnpm create vite 在本地 scaffold 一个你首选框架的 Vite 应用。查看 入门指南 获取更多信息。
我们邀请你帮助我们改进 Vite(加入超过 1.1K 位 Vite Core 贡献者 的行列)、我们的依赖项或生态系统中的插件和项目。在我们的 贡献指南 中了解更多。一个好的开始方式是 分类处理 issue、审查 PR、基于开放 issue 发送测试 PR,以及在 Discussions 或 Vite Land 的 帮助论坛 中支持他人。如果你有问题,加入我们的 Discord 社区 并在 #contributing 频道 与我们交谈。
通过在 Bluesky、X 或 Mastodon 上关注我们,保持更新并与建立在 Vite 之上的其他人联系。
Node.js 支持
Vite 现在需要 Node.js 20.19+、22.12+。我们已经弃用了 Node.js 18,因为它已在 2025 年 4 月底达到 EOL。
我们需要这些新版本范围,以便 Node.js 无需标志即可支持 require(esm)。这允许我们仅将 Vite 7.0 分发为 ESM,而不会阻止 Vite JavaScript API 被 CJS 模块 require。查看 Anthony Fu 的 Move on to ESM-only 以详细了解生态系统中 ESM 的现状。
默认浏览器目标更改为 Baseline Widely Available
Baseline 为我们提供了清晰的信息,说明哪些 Web 平台功能目前可在其核心浏览器集合中正常运行。Baseline Widely Available 表示该功能已经非常成熟,可在多种设备和浏览器版本中正常运行,并且至少已在各浏览器中提供 30 个月。
在 Vite 7 中,默认浏览器目标将从 'modules' 更改为新的默认值:'baseline-widely-available'。浏览器集合将在每个大版本中更新,以匹配与 Baseline Widely available 功能兼容的最小浏览器版本列表。build.target 的默认浏览器值在 Vite 7.0 中正在更改:
- 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 测试故事的内容。
环境 API
Vite 6 是自 Vite 2 以来最重要的大版本更新,增加了 新的实验性环境 API 的新功能。我们将保留新 API 为实验性,同时生态系统审查新 API 如何适应他们的项目并提供反馈。如果你建立在 Vite 之上,我们鼓励你测试新 API 并在 这里的开放反馈讨论 中联系我们。
在 Vite 7 中,我们添加了一个新的 buildApp 钩子,让插件协调环境的构建。请在 框架的环境 API 指南 中阅读更多内容。
我们要感谢一直测试新 API 并帮助我们稳定新功能的团队。例如,Cloudflare 团队宣布了他们的 Cloudflare Vite 插件的 1.0 版本,以及对 React Router v7 的官方支持。他们的插件展示了环境 API 对于运行时提供商的潜力。在 “直接使用 Vite”…以及 Workers 运行时 中了解更多关于他们的方法和未来步骤。
迁移到 Vite 7
Vite 7 应该是从 Vite 6 平滑升级。我们正在移除已经弃用的功能,比如 Sass 遗留 API 支持和 splitVendorChunkPlugin,这不应该影响你的项目。我们仍然建议你在升级前查看 详细的迁移指南。
完整的更改列表在 Vite 7 更新日志。
致谢
Vite 7 由 Vite 团队 在广泛的贡献者社区、下游维护者、插件作者的帮助下打造。特别感谢 sapphi-red 在 rolldown-vite 和此版本上的杰出工作。Vite 由 VoidZero 为您带来,与 Bolt 和 Nuxt Labs 合作。我们还要感谢我们在 Vite 的 GitHub Sponsors 和 Vite 的 Open Collective 上的赞助商。
