跳转到内容

Vite 6.0 发布了!

2024 年 11 月 26 日

Vite 6 Announcement Cover Image

今天,我们在 Vite 的发展历程中又迈出了重要的一步。Vite 团队贡献者以及生态系统合作伙伴非常激动地宣布 Vite 6 正式发布。

这一年发生了许多大事。Vite 的采用率持续增长,自一年前 Vite 5 发布以来,npm 每周下载量已从 750 万次跃升至 1700 万次。Vitest 不仅越来越受到用户青睐,也开始形成其独立的生态系统。例如,Storybook 现在拥有由 Vitest 支持的全新测试功能。

新的框架也加入了 Vite 生态系统,包括 TanStack StartOneEmber 等等。Web 框架正以越来越快的速度进行创新。你可以看看 AstroNuxtSvelteKitSolid StartQwik CityRedwoodJSReact Router 等社区伙伴所做的改进,名单还在不断增加。

OpenAI、Google、Apple、Microsoft、NASA、Shopify、Cloudflare、GitLab、Reddit、Linear 等众多公司都在使用 Vite。两个月前,我们开始整理一份使用 Vite 的公司名单。我们很高兴看到许多开发者提交 PR 将他们的公司添加到列表中。很难相信,自 Vite 迈出第一步以来,我们共同构建的生态系统已经成长了这么多。

Vite weekly npm downloads

加速 Vite 生态系统

上个月,社区齐聚第三届 ViteConf,该会议再次由 StackBlitz 主办。这是规模最大的一次 Vite 大会,来自生态系统的开发者们有着广泛的代表性。在众多公告中,尤雨溪(Evan You)宣布了 VoidZero,这是一家致力于为 JavaScript 生态系统构建开源、高性能且统一的开发工具链的公司。VoidZero 背后是 RolldownOxc,他们的团队正在取得重大进展,使其能够迅速被 Vite 采用。观看 Evan 的主题演讲,了解更多关于 Vite 基于 Rust 的未来规划。

Stackblitz 推出了 bolt.new,这是一个结合了 Claude 和 WebContainers 的 Remix 应用,让你能够通过提示词(prompt)来编辑、运行和部署全栈应用。Nate Weiner 宣布了 One,这是一个由 Vite 驱动的、用于 Web 和原生应用的全新 React 框架。Storybook 展示了他们最新的由 Vitest 驱动的 测试功能。还有更多精彩内容。我们鼓励大家观看 全部 43 场演讲。演讲者们投入了大量精力来分享各自项目的最新动态。

Vite 还更新了落地页,并启用了简洁的新域名。今后,请将你的 URL 更新指向新的 vite.dev 域名。新设计和实现由 VoidZero 完成,采用了与他们官网相同的制作团队。特别鸣谢 Vicente RodriguezSimon Le Marchant

Vite 的下一个重大版本已经到来

Vite 6 是自 Vite 2 以来最重要的主要版本更新。我们渴望与生态系统合作,通过新的 API 继续扩展我们共享的公共设施,并一如既往地提供一个更加完善的基础设施。

快速链接

如果你是 Vite 的新手,我们建议先阅读开始使用功能介绍指南。

我们要感谢超过 1000 名 Vite 核心贡献者,以及 Vite 插件、集成、工具和翻译的维护者与贡献者,他们帮助我们打造了这个新的重大版本。我们邀请你参与其中,帮助我们为整个生态系统改进 Vite。了解更多信息,请查看我们的贡献指南

要开始参与,我们建议协助分类 Issue评审 PR、基于开放 Issue 发送失败测试的 PR,并在 Discussions 和 Vite Land 的 帮助论坛中为他人提供支持。如果你想与我们交流,请加入我们的 Discord 社区并在 #contributing 频道打个招呼。

获取有关 Vite 生态系统和 Vite 核心的最新消息,请关注我们的 BlueskyXMastodon

开始使用 Vite 6

你可以使用 pnpm create vite 快速创建一个首选框架的 Vite 应用,或者在 vite.new 在线体验 Vite 6。你也可以运行 pnpm create vite-extra 来获取其他框架和运行时(Solid, Deno, SSR 和库入门)的模板。当你运行 create vite 时,在 Others 选项下也可以找到 create vite-extra 模板。

Vite 起步模板旨在作为测试 Vite 与不同框架配合使用的练习场。构建实际项目时,你应该参考各框架官方推荐的起步工具。create vite 也提供了快捷方式来设置某些框架的官方起步工具,如 create-vueNuxt 3SvelteKitRemixAnalogAngular

Node.js 支持

Vite 6 支持 Node.js 18、20 和 22+,这与 Vite 5 类似。Node.js 21 的支持已被移除。Vite 会在 Node.js 旧版本达到 EOL(生命周期结束)后取消对其的支持。Node.js 18 的 EOL 时间是 2025 年 4 月底,届时我们可能会发布一个新的重大版本以提升所需的 Node.js 最低版本。

实验性环境 API (Environment API)

借助全新的环境 API,Vite 变得更加灵活。这些新 API 将允许框架作者提供更接近生产环境的开发体验,并使生态系统能够共享新的构建模块。如果你正在构建 SPA,一切都不会改变;当你使用具有单一客户端环境的 Vite 时,一切都像以前一样工作。即使是对于自定义 SSR 应用,Vite 6 也是向后兼容的。环境 API 的主要受众是框架作者。

对于感到好奇的终端用户,Sapphi 撰写了一篇非常出色的环境 API 介绍指南。这是一个了解我们为何致力于让 Vite 更具灵活性的绝佳起点。

如果你是框架作者或 Vite 插件维护者,想要利用这些新 API,可以在 环境 API 指南中了解更多信息。

我们要感谢所有参与定义和实现这些新 API 的人们。这一切始于 Vite 2 采用了由 Rich HarrisSvelteKit 团队开创的非打包式 SSR 开发方案。随后,Vite 的 SSR 转换功能解锁了 Anthony FuPooya Parsa 创建 vite-node 并改进 Nuxt 开发 SSR 体验的能力。Anthony 后来利用 vite-node 来驱动 Vitest,而 Vladimir Sheremet 作为 Vitest 维护者持续对其进行改进。2023 年初,Vladimir 开始致力于将 vite-node 合并到 Vite 核心中,我们在一年后的 Vite 5.1 中将其作为运行时 API 发布。来自生态系统合作伙伴的反馈(特别感谢 Cloudflare 团队)促使我们对 Vite 的环境进行了更雄心勃勃的重构。你可以在 Patak 的 ViteConf 24 演讲中了解更多背后的故事。

Vite 团队的所有成员都参与了定义这个新 API 的工作,它是在参考了生态系统中许多项目的反馈后共同设计的。感谢所有参与的人!如果你正在基于 Vite 构建框架、插件或工具,我们鼓励你参与进来。这些新 API 目前是实验性的。我们将与生态系统合作,评估这些 API 的实际使用情况,并在下一个重大版本中将其稳定下来。如果你有任何疑问或想提供反馈,这里有一个 公开的 GitHub 讨论区

主要变更

此外,还有一个新的破坏性变更页面,列出了 Vite 中所有计划中、考虑中和过去的变更。

迁移到 Vite 6

对于大多数项目,更新到 Vite 6 应该非常简单,但我们建议在升级前查阅详细的迁移指南

完整的变更列表请查阅 Vite 6 更新日志

鸣谢

Vite 6 是我们的社区贡献者、下游维护者、插件作者和 Vite 团队长时间努力工作的成果。我们感谢赞助 Vite 开发的个人和公司。Vite 由 VoidZeroStackBlitzNuxt LabsAstro 合作推出。特别鸣谢 Vite GitHub 赞助者Vite Open Collective 的赞助者们。