@levinzhang
2023-01-07T22:29:18.000000Z
字数 1329
阅读 458
by
Vite前端构建工具背后的团队最近发布了Vite 4.0,此时距离Vite 3.0已有5个月。新版本的动力来自于从Rollup 2.0到3.0的突破性升级。Vite 4.0还增加了对SWC的支持,这是一个基于Rust的打包器,声称比Babel有数量级的速度提升。
Vite前端构建工具背后的团队最近发布了Vite 4.0,此时距离Vite 3.0发布已有5个月。新版本的动力来自于从Rollup 2.0到3.0的突破性升级。Vite 4.0还增加了对SWC的支持,这是一个基于Rust的打包器(bundler),声称比Babel有数量级的速度提升。
现在,Vite 4.0在构建时使用Rollup 3.0。Rollup 3.0是在几周前的ViteConf 2022上发布的。ViteConf 2022聚集了Vite生态系统的主要参与者。自Vite 2.0以来,Vite是一个与框架无关的构建工具。因此,许多其他的开发者工具、库和框架开始支持Vite,例如Storybook、Astro、Nuxt、SvelteKit、Solid Start、Hydrogen、Laravel、Qwik City以及其他产品。Vite团队提到:
在生态系统合作伙伴的帮助下,[我们]很高兴地宣布Vite 4发布,它在构建时由Rollup 3提供支持。我们会与生态系统协作,确保这个新的主版本的平滑升级。
虽然Rollup 3与Rollup 2基本兼容,但使用自定义rollupOptions
的开发者可能会遇到问题,应参考Rollup迁移指南来升级他们的配置。
Vite 4.0还升级了dotenv
和dotenv-expand
的版本(参见dotenv和dotenv-expand的变更日志)。新版本的dotenv
带来了一些破坏性的变化,要求开发者用引号来包装包含某些字符(如回车键)的名字:
-VITE_APP=ab#cd`ef
+VITE_APP="ab#cd`ef"
最近发布的Next.JS 13包括了Turbopack,这是一个新的、仍在alpha阶段的、基于Rust的Webpack替代方案,声称比Vite快几个数量级。对这一说法的研究表明,大部分速度的提高与Turbopack使用SWC有关,SWC是一个基于Rust的打包器,目前仍处于alpha阶段。SWC声称比Vite 3.0中使用的Babel快20倍。Vite 4.0现在增加了对SWC的支持,这应该有助于缩小这一差距。Vite团队解释说:
SWC现在是Babel的成熟替代方案,特别是在React项目下。SWC的React快速刷新实现比Babel快很多,对于一些项目来说,它现在是一个更好的选择。从Vite 4开始,有两个插件可用于React项目,它们有不同的权衡。我们认为目前这两种方法都值得支持,未来我们会继续探索对这两个插件的改进。
开发者可以参考迁移指南和发布说明,以了解与新版本相关的详尽变化。Vite是在MIT开源许可下发布的。欢迎提交贡献,但必须遵循Vite的贡献指南。
查看英文原文:Vite 4 Released, Replaces Babel with Faster Rust-based SWC