Vite 4发布,用更快的SWC替换了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#cdef
+VITE_APP="ab#cdef"
最近发布的 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 的贡献指南。
原文链接:https://www.infoq.com/news/2022/12/vite-4-faster-swc/
声明:本文为 InfoQ 翻译,未经许可禁止转载。
2023 年 3 月 17-18 日,ArchSummit 全球架构师峰会将落地北京海航万豪酒店。来自百度、京东、华为、腾讯、斗鱼、中国信通院等企业与学术界的技术专家,将就数字化业务架构、低代码实践、国产化替代方案、分布式架构等主题展开分享讨论。
目前已上线数字化场景下的业务架构、低代码实践与应用、国产软件优化迭代之路、多数据中心的分布式架构实践、软件质量保障、技术 - 产品 - 业务、高并发架构实现、架构师成长与团队搭建落地实践、大数据和人工智能融合、大规模微服务架构演进、可观测技术落地、云原生大数据实践等多个专题,点击阅读原文去官网查看大会日程。
会期临近,门票即将售罄,购票或咨询其他问题请联系票务同学:15600537884(微信同电话)