Skip to content

Beyond Fast

ViteConf 2023

Watch the replay!

Vite 5.0 发布了!

2023年11月16日

Vite 5公告封面图片

Vite 4 发布了将近一年,它为生态系统奠定了坚实的基础。每周的 npm 下载量从250万增加到了750万,因为项目不断在共享基础设施上构建。各种框架不断创新,除了 AstroNuxtSvelteKitSolid StartQwik City 等等之外,我们看到新的框架加入并使生态系统变得更加强大。RedwoodJSRemix 转向 Vite 为 React 生态系统的进一步采用铺平了道路。Vitest 的增长速度甚至比 Vite 还要快。其团队一直在努力工作,并将很快 发布 Vitest 1.0。当与其他工具一起使用时,如 StorybookNxPlaywright,Vite 的故事不断改善,环境也是如此,Vite 的开发在 DenoBun 中都可以工作。

一个月前,我们举办了第二届 ViteConf,由 StackBlitz 主办。像去年一样,生态系统中的大多数项目聚在一起分享想法,并保持连接以持续扩展共同体。我们也看到新的组件补充了元框架工具包,比如 VolarNitro。Rollup 团队在同一天发布了 Rollup 4,这是去年 Lukas 开创的传统。

六个月前,Vite 4.3 发布了。这个版本显著改善了开发服务器的性能。但是,还有很大的改进空间。在 ViteConf 上,Evan You 揭示了 Vite 的长期计划,即着手开发 Rolldown,这是 Rollup 的 Rust 版本,具有兼容的 API。一旦准备就绪,我们打算在 Vite Core 中使用它,以执行 Rollup 和 esbuild 的任务。这将意味着构建性能的提升(随着我们将 Vite 本身的性能敏感部分转移到 Rust,开发性能也将在以后提升),以及减少开发和构建之间的不一致性。Rolldown 目前处于早期阶段,团队正准备在年底之前开源代码库。敬请期待!

今天,我们在 Vite 的道路上又迈出了一个重要的里程碑。Vite 团队贡献者 和生态系统合作伙伴,很高兴地宣布发布 Vite 5。Vite 现在使用 Rollup 4,这已经是构建性能的重大提升。而且还有一些新选项可以改进你的开发服务器性能。

Vite 5 的重点是清理 API(删除已弃用的功能)并简化几个功能,解决了长期存在的问题,例如切换 define 以使用正确的 AST 替换而不是正则表达式。我们还在继续采取措施未来证明 Vite(现在需要 Node.js 18+,并且已经 弃用了 CJS Node API)。

快速链接:

其他语言的文档:

如果你是 Vite 的新用户,我们建议你先阅读 入门指南功能 指南。

我们感谢超过 850 位对 Vite Core 作出贡献的贡献者,以及 Vite 插件、集成、工具和翻译的维护者和贡献者,他们帮助我们达到了这一里程碑。我们鼓励你参与进来,继续与我们一起改进 Vite。你可以在我们的 贡献指南 中了解更多信息。要开始,我们建议你 处理问题审查 PR,基于开放的问题发送失败的测试 PR,并在 讨论 和 Vite Land 的 帮助论坛 中帮助其他人。你会在这个过程中学到很多,并顺利地进一步为项目做出贡献。如果你有疑问,请加入我们的 Discord 社区,并在 #contributing 频道 上打个招呼。

要保持最新,请关注我们在 XMastodon 上的动态。

使用 Vite 5 快速开始

使用 pnpm create vite 来创建一个 Vite 项目,并选择你喜欢的框架,或者通过在线的模板使用 vite.new 来体验 Vite 5。你也可以运行 pnpm create vite-extra 来获取其他框架和运行时的模板(如 Solid、Deno、SSR 和库的起始模板)。当你在 Others 选项下运行 create vite 时,create vite-extra 的模板也是可用的。

请注意,Vite 起始模板旨在用作测试 Vite 与不同框架的沙盒。在构建下一个项目时,我们建议使用每个框架推荐的起始模板。一些框架现在在 create vite 中也重定向到它们的起始模板(Vue 的 create-vueNuxt 3,以及 Svelte 的 SvelteKit)。

Node.js 支持

Vite 不再支持已达到 EOL 的 Node.js 14 / 16 / 17 / 19。现在需要 Node.js 18 / 20+。

性能方面

除了 Rollup 4 的构建性能改进之外,现在还有一个新指南,帮助你识别和修复常见的性能问题,网址为 https://vitejs.dev/guide/performance

Vite 5 还引入了 server.warmup,这是一个新功能,用于改善启动时间。它允许你定义一个模块列表,在服务器启动时应预先转换。当使用 --openserver.open 时,Vite 还将自动预热你的应用程序的入口点或提供的要打开的 URL。

主要变化

迁移到 Vite 5

我们与生态系统合作伙伴合作,确保平稳迁移到这个新的主要版本。再次感谢 vite-ecosystem-ci,它对我们进行更大胆的改变并避免回退起到了关键作用。我们很高兴看到其他生态系统采用类似的方案,以改善其项目与下游维护者之间的协作。

对于大多数项目来说,升级到 Vite 5 应该是直截了当的。但我们建议在升级之前查看 详细的迁移指南

你可以在 Vite 5 变更日志 中找到对 Vite 核心的全面变更列表。

致谢

Vite 5 是我们社区的贡献者、下游维护者、插件作者和 Vite 团队 长时间工作的结果。特别感谢 Bjorn Lu 在这个主要版本的发布过程中的领导。

我们还要感谢个人和公司对 Vite 开发的赞助。StackBlitzNuxt LabsAstro 继续通过雇佣 Vite 团队成员来投资 Vite。向 ViteVite 的 Open CollectiveEvan You 的赞助者表示感谢。特别感谢 Remix 成为金牌赞助商,并在转向 Vite 后回馈社区。

Released under the MIT License. (dev)