跳至内容

Vite 5.0 发布!

2023 年 11 月 16 日

Vite 5 Announcement Cover Image

Vite 4 发布 已经快一年了,它为生态系统奠定了坚实的基础。每周的 npm 下载量从 250 万次跃升至 750 万次,因为项目不断建立在共享基础设施之上。框架不断创新,除了 AstroNuxtSvelteKitSolid StartQwik City 等,我们还看到了新的框架加入,使生态系统更加强大。 RedwoodJSRemix 切换到 Vite 为 React 生态系统中的进一步采用铺平了道路。 Vitest 的增长速度甚至快于 Vite。其团队一直在努力工作,并将很快 发布 Vitest 1.0。Vite 与其他工具(如 StorybookNxPlaywright)一起使用的故事不断改进,环境也是如此,Vite dev 可以在 DenoBun 中运行。

一个月前,我们举办了第二届 ViteConf,由 StackBlitz 主办。与去年一样,生态系统中的大多数项目都聚在一起分享想法并建立联系,以不断扩展公共领域。我们还看到新的部分补充了元框架工具带,例如 VolarNitro。Rollup 团队在同一天发布了 Rollup 4,这是 Lukas 去年开始的传统。

六个月前,Vite 4.3 发布。此版本显着提高了开发服务器性能。但是,仍然有很大的改进空间。在 ViteConf 上,Evan You 公布了 Vite 的长期计划,将在 Rolldown 上进行工作,这是一个具有兼容 API 的 Rollup 的 Rust 移植版本。一旦它准备就绪,我们打算在 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 不再支持已达到生命周期结束的 Node.js 14 / 16 / 17 / 19。现在需要 Node.js 18 / 20+。

性能

除了 Rollup 4 的构建性能改进之外,还有一个新指南可以帮助您识别和解决 https://vite.vuejs.ac.cn/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。感谢 Vite 的 GitHub 赞助商Vite 的 Open CollectiveEvan You 的 GitHub 赞助商 的赞助。特别感谢 Remix 成为金牌赞助商,并在切换到 Vite 后回馈社区。