知海

Vite 6.0 发布公告

vite-main发布与更新日志

Vite 6.0 发布公告

2024 年 11 月 26 日

Vite 6 公告封面图

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

这是充实的一年。Vite 的采用率持续增长,自一年前 Vite 5 发布以来,npm 周下载量从 750 万跃升至 1700 万。Vitest 不仅受到越来越多用户的青睐,也开始形成自己的生态系统。例如,Storybook 新增了由 Vitest 驱动的测试能力。

新的框架也加入了 Vite 生态系统,包括 TanStack StartOneEmber 等。Web 框架的创新速度越来越快。你可以了解 AstroNuxtSvelteKitSolid StartQwik CityRedwoodJSReact Router 等项目的进展,这里不再一一列举。

Vite 被 OpenAI、Google、Apple、Microsoft、NASA、Shopify、Cloudflare、GitLab、Reddit、Linear 等众多公司使用。两个月前,我们开始了一份 使用 Vite 的公司列表。我们很高兴看到许多开发者为这个列表提交 PR,添加他们所在的公司。很难相信,自 Vite 迈出第一步以来,我们共同建立的生态系统已经发展得如此庞大。

Vite 每周 npm 下载量

加速 Vite 生态

上个月,社区举办了第三届 ViteConf,再次由 StackBlitz 主办。这是规模最大的 Vite 会议,生态中的构建者们广泛参与。在其他公告中,Evan You 宣布了 VoidZero,一家致力于为 JavaScript 生态系统构建开源、高性能、统一开发工具链的公司。VoidZero 是 RolldownOxc 背后的团队,他们正在取得重大进展,迅速为 Vite 采用做好准备。观看 Evan 的主题演讲,了解更多关于 Vite 基于 Rust 的未来规划。

Stackblitz 发布了 bolt.new,这是一个结合了 Claude 和 WebContainers 的 Remix 应用,让你能够提示、编辑、运行和部署全栈应用。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 Core 贡献者,以及帮助我们将这个新主版本打磨得更好的 Vite 插件、集成、工具和翻译的维护者与贡献者。我们邀请你参与其中,帮助我们一起为整个生态系统改进 Vite。了解更多请访问 贡献指南

开始贡献,我们建议你帮助 分类 issue审查 PR、根据未解决的问题提交失败的测试 PR,并在 讨论区 和 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 时,create vite-extra 模板也会出现在 Others 选项下。

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 版本。

实验性 Environment API

通过新的 Environment API,Vite 变得更加灵活。这些新 API 将允许框架作者提供更接近生产的开发体验,并让生态共享新的构建模块。如果你在构建 SPA,一切都不会改变;当你使用 Vite 配合单一客户端环境时,所有功能都和以前一样。即使对于自定义 SSR 应用,Vite 6 也保持向后兼容。Environment API 的主要目标受众是框架作者。

对于好奇的最终用户,Sapphi 写了一篇很好的 Environment API 介绍。这是开始了解我们为什么试图让 Vite 更加灵活的好地方。

如果你是框架作者或 Vite 插件维护者,并希望利用这些新 API,可以进一步了解 Environment API 指南

我们要感谢所有参与定义和实现新 API 的人。这个故事始于 Vite 2 采用由 Rich HarrisSvelteKit 团队开创的无打包 SSR 开发方案。Vite 的 SSR 转换随后使 Anthony FuPooya Parsa 创建了 vite-node 并改进了 Nuxt 的 Dev SSR 方案。Anthony 使用 vite-node 为 Vitest 提供支持,Vladimir Sheremet 则在维护 Vitest 的过程中持续改进它。2023 年初,Vladimir 开始将 vite-node 上游化到 Vite Core,一年后我们在 Vite 5.1 中将其作为 Runtime API 发布。生态合作伙伴的反馈(特别感谢 Cloudflare 团队)推动我们对 Vite 的环境进行了更大胆的重新设计。你可以通过 Patak 在 ViteConf 24 的演讲 了解更多故事。

Vite 团队的每个人都参与了新 API 的定义,并与生态中许多项目的反馈共同设计。感谢所有参与者!如果你在 Vite 之上构建框架、插件或工具,我们鼓励你参与进来。新 API 是实验性的,我们将与生态合作,审查新 API 的使用方式,并在下一个主版本中稳定它们。如果你有任何问题或反馈,可以查看 GitHub 讨论

主要变更

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

迁移到 Vite 6

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

完整的变更列表请参见 Vite 6 更新日志

致谢

Vite 6 是贡献者社区、下游维护者、插件作者和 Vite 团队 长期努力工作的成果。我们感谢赞助 Vite 开发的个人和公司。Vite 由 VoidZero 带来,并与 StackBlitzNuxt LabsAstro 合作。特别感谢 Vite 的 GitHub SponsorsVite 的 Open Collective 上的赞助者。

帮助我们改进文档

发现翻译问题或内容错误?请告诉我们。