HeadlinesBriefing favicon HeadlinesBriefing.com

Rust React 编译器原生支持 Vite

Hacker News •
×

在 oxc 团队于 2026 年 8 月 4 日发布对 Rust React 编译器的官方支持后,我们将包含 1,036 个文件的 React Router 代码库(Outlyne,一个网站构建器)迁移到该编译器,构建过程中编译器部分的速度提升了约 17.6 倍。@vitejs/plugin-react 的 v6.1.0 版本带来了“实验性原生 React 编译器支持”,您可以通过在 Vite 配置中向插件传递 { compiler: true } 来选择启用。对于那些无法使用 Vite React 插件的人(例如,如果您像我们一样在框架模式下使用 React Router),@acusti/vite-plugin-react-compiler 是一个极简的 Vite 插件,无论您的其余构建管道如何,都可以对您的代码库进行 React 编译。

更快的构建 = 更快乐的开发者 + 更低的 CI 成本。最引人注目的功能是速度提升。根据 oxc 项目负责人 Boshen 的说法:在我们的初步基准测试中,它比 Babel 快 10 倍以上。我们看到了超过 17 倍的速度提升,1,036 个文件从使用 Babel 构建时的 14.3 秒降至原生构建时的 0.81 秒(单线程)。这对我们来说意义重大,因为在代理辅助软件开发中,CI 使用量和 GitHub Actions 分钟数已成为真正的成本中心。请注意,这些加速仅适用于编译器部分;整体构建时间改善了约 2.4 倍(22.1 秒 → 9.3 秒)。

尽管速度是头条新闻,但我更兴奋的是使用最新 React 编译器带来的好处,它修复了 JavaScript 支持中的重大限制,包括 try/catch 块中的条件逻辑、重新分配在嵌套闭包中使用的解构 props,以及计算对象属性键。这些修复将编译器兼容性扩展了七个额外的函数。尽管如此,限制仍然存在:从 try 块内部抛出异常和逻辑赋值运算符(??=、&&=、||=)会导致跳过,但 Rust 编译器将在这些修复落地时获得它们。

最后,我的完整工具链现在使用相同版本的 React 编译器,具有等效的功能支持,避免了采用 Oxlint 的 React 编译器支持后出现的覆盖缺口。

关键实体:公司:oxc、Outlyne、Vite、Babel | 人物:Boshen