知海

Vite 5.0 发布公告

vite-main发布与更新日志

Vite 5.0 发布公告

2023年11月16日

Vite 5 发布公告封面图

Vite 4 发布 已近一年,它为生态系统奠定了坚实的基础。npm 每周下载量从 250 万增长到 750 万,项目不断在共享基础设施上构建。框架持续创新,在 AstroNuxtSvelteKitSolid StartQwik City 等基础上,我们看到了新框架的加入,使生态系统更加强大。RedwoodJSRemix 转向 Vite,为 React 生态系统的进一步采用铺平了道路。Vitest 的增长速度甚至超过了 Vite。其团队一直在努力工作,很快将发布 Vitest 1.0。Vite 与 StorybookNxPlaywright 等其他工具配合使用的体验不断改善,环境支持也在不断改进,Vite 开发服务器现在可以在 DenoBun 中运行。

一个月前,我们举办了由 StackBlitz 主办的第二届 ViteConf。与去年一样,生态系统中的大多数项目齐聚一堂,分享想法、相互联系,继续扩展共同基础。我们还看到新的组件补充了元框架工具带,如 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 新手,我们建议首先阅读 入门指南功能特性 指南。

我们感谢 Vite Core 的 850 多位贡献者,以及帮助我们达到这一目标的 Vite 插件、集成、工具和翻译的维护者和贡献者。我们鼓励你参与进来,继续与我们一同改进 Vite。你可以在我们的 贡献指南 中了解更多。要开始,我们建议 对 issue 进行分类审查 PR、根据未解决的 issue 提交失败的测试 PR,并在 讨论区 和 Vite Land 的 帮助论坛 中帮助他人。你会在这个过程中学到很多,并为项目做出更多贡献铺平道路。如果有疑问,请加入我们的 Discord 社区,并在 #contributing 频道 打个招呼。

要了解最新动态,请在 XMastodon 上关注我们。

使用 Vite 5 快速开始

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

请注意,Vite 起始模板旨在作为使用不同框架测试 Vite 的游乐场。在构建你的下一个项目时,我们建议使用各框架推荐的起始模板。一些框架现在在 create vite 中也会重定向到它们的起始模板(Vue 的 create-vue 和 Nuxt 3,Svelte 的 SvelteKit)。

Node.js 支持

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

性能

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

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

主要变更

迁移到 Vite 5

我们与生态系统合作伙伴合作,确保顺利迁移到这个新的主版本。vite-ecosystem-ci 再次在帮助我们做出更大胆的变更同时避免回归方面发挥了关键作用。我们很高兴看到其他生态系统采用类似的方案来改善其项目与下游维护者之间的协作。

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

有关 Vite Core 全部变更的详细列表,请参阅 Vite 5 更新日志

致谢

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

我们也感谢赞助 Vite 开发的个人和公司。StackBlitzNuxt LabsAstro 通过雇佣 Vite 团队成员继续投资于 Vite。感谢 Vite 的 GitHub SponsorsVite 的 Open CollectiveEvan You 的 GitHub Sponsors 上的赞助商。特别感谢 Remix 成为金牌赞助商,并在转向 Vite 后回馈社区。

帮助我们改进文档

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