Skip to content

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 开发服务器既可在 Deno 中工作,也可在 Bun 中工作。

一个月前,我们举办了第二届 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 和库 starter)的模板。当您在 Others 选项下运行 create vite 时,也可以使用 create vite-extra 模板。

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

Node.js 支持

Vite 不再支持已达到其生命周期终点 (EOL) 的 Node.js 14 / 16 / 17 / 19。现在需要 Node.js 18 / 20+。

性能

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

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

主要变更

迁移到 Vite 5

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

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

可以在 Vite 5 更新日志 中找到 Vite core 变更完整列表的底层细分。

致谢

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

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