参考来源:https://vitejs.dev/blog/announcing-vite5?ref=dailydev
Vite 5.0版本的发布标志着Vite生态系统的又一次重大进步。自Vite 4发布近一年以来,它作为生态系统的坚实基础,每周的npm下载量从250万跃升至750万次。各种框架持续创新,像Astro、Nuxt、SvelteKit、Solid Start、Qwik City等不断加入,加强了整个生态系统。RedwoodJS和Remix转向Vite,为React生态系统的进一步采纳铺平了道路。与此同时,Vitest的增长速度甚至超过了Vite本身。其团队正在努力工作,并将很快发布Vitest 1.0版本。在与其他工具如Storybook、Nx、Playwright的结合使用上,Vite的表现也在持续改进,同样在不同的环境中也表现出色,例如在Deno和Bun中的Vite开发环境。
在一个月前的ViteConf大会上,由StackBlitz主办,各项目团队聚集在一起分享想法,共同扩展共享生态。我们还看到了一些新工具的加入,如Volar和Nitro,为元框架工具带来了补充。同时,Rollup团队发布了Rollup 4,延续了Lukas去年开始的传统。
六个月前,Vite 4.3的发布显著提升了开发服务器的性能。然而,性能改进的空间仍然很大。在ViteConf上,尤雨溪展示了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 5 使用 pnpm create vite
命令来搭建一个带有你首选框架的Vite项目,或者在线打开一个启动模板来尝试使用Vite 5,访问vite.new。你还可以运行 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不再支持Node.js 14 / 16 / 17 / 19,这些版本已达到其生命周期的终点。现在需要Node.js 18 / 20+。
性能
除了Rollup 4在构建性能上的改进外,还有一个新指南可帮助您识别和修复常见的性能问题,网址为 https://vitejs.dev/guide/performance。
Vite 5还引入了server.warmup这一新特性,以改善启动时间。它允许您定义应在服务器启动时预先转换的模块列表。当使用--open
或server.open
时,Vite还会自动预热您的应用入口点或要打开的提供的URL。
总体来说,Vite 5的发布是Vite生态系统不断发展的重要标志。通过不断的技术革新和社区合作,Vite正向着更高性能、更强大的生态系统目标迈进。无论是对于前端开发者还是各种框架的使用者来说,Vite 5都提供了一个更加稳定、高效和易于使用的开发环境。随着Vite生态的不断壮大,未来无疑将见证更多激动人心的变革和进步。