Vite 6.0 发布公告
Vite 6.0 发布公告
2024 年 11 月 26 日

今天,我们在 Vite 的发展历程中又迈出了一大步。Vite 团队、贡献者 以及生态合作伙伴激动地宣布 Vite 6 正式发布。
这是充实的一年。Vite 的采用率持续增长,自一年前 Vite 5 发布以来,npm 周下载量从 750 万跃升至 1700 万。Vitest 不仅受到越来越多用户的青睐,也开始形成自己的生态系统。例如,Storybook 新增了由 Vitest 驱动的测试能力。
新的框架也加入了 Vite 生态系统,包括 TanStack Start、One、Ember 等。Web 框架的创新速度越来越快。你可以了解 Astro、Nuxt、SvelteKit、Solid Start、Qwik City、RedwoodJS、React Router 等项目的进展,这里不再一一列举。
Vite 被 OpenAI、Google、Apple、Microsoft、NASA、Shopify、Cloudflare、GitLab、Reddit、Linear 等众多公司使用。两个月前,我们开始了一份 使用 Vite 的公司列表。我们很高兴看到许多开发者为这个列表提交 PR,添加他们所在的公司。很难相信,自 Vite 迈出第一步以来,我们共同建立的生态系统已经发展得如此庞大。

加速 Vite 生态
上个月,社区举办了第三届 ViteConf,再次由 StackBlitz 主办。这是规模最大的 Vite 会议,生态中的构建者们广泛参与。在其他公告中,Evan You 宣布了 VoidZero,一家致力于为 JavaScript 生态系统构建开源、高性能、统一开发工具链的公司。VoidZero 是 Rolldown 和 Oxc 背后的团队,他们正在取得重大进展,迅速为 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 Rodriguez 和 Simon Le Marchant。
下一个 Vite 大版本来了
Vite 6 是自 Vite 2 以来最重要的主版本发布。我们期待与生态合作,通过新的 API 和一如既往更完善的基础,持续扩展我们共同的公共基础。
快速链接:
如果你是 Vite 新手,我们建议先阅读 快速开始 和 特性 指南。
我们想感谢超过 1000 名 Vite Core 贡献者,以及帮助我们将这个新主版本打磨得更好的 Vite 插件、集成、工具和翻译的维护者与贡献者。我们邀请你参与其中,帮助我们一起为整个生态系统改进 Vite。了解更多请访问 贡献指南。
开始贡献,我们建议你帮助 分类 issue、审查 PR、根据未解决的问题提交失败的测试 PR,并在 讨论区 和 Vite Land 的 帮助论坛 支持他人。如果你想和我们交流,请加入我们的 Discord 社区,并在 #contributing 频道 打个招呼。
要获取 Vite 生态系统和 Vite 核心的最新消息,请关注我们的 Bluesky、X 或 Mastodon。
开始使用 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-vue、Nuxt 3、SvelteKit、Remix、Analog 和 Angular。
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 Harris 和 SvelteKit 团队开创的无打包 SSR 开发方案。Vite 的 SSR 转换随后使 Anthony Fu 和 Pooya 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 讨论。
主要变更
resolve.conditions的默认值- JSON 字符串化
- HTML 元素中资源引用的扩展支持
- postcss-load-config
- Sass 默认使用 modern API
- 库模式下自定义 CSS 输出文件名
- 更多影响少数用户的变更
此外,还有一个新的 破坏性变更 页面,列出了 Vite 所有计划中、考虑中和已实施的变更。
迁移到 Vite 6
对于大多数项目,升级到 Vite 6 应该很简单,但我们建议在升级前查看 详细的迁移指南。
完整的变更列表请参见 Vite 6 更新日志。
致谢
Vite 6 是贡献者社区、下游维护者、插件作者和 Vite 团队 长期努力工作的成果。我们感谢赞助 Vite 开发的个人和公司。Vite 由 VoidZero 带来,并与 StackBlitz、Nuxt Labs 和 Astro 合作。特别感谢 Vite 的 GitHub Sponsors 和 Vite 的 Open Collective 上的赞助者。
帮助我们改进文档
发现翻译问题或内容错误?请告诉我们。
