React
如何使用
Rspack 提供两种方案来支持 React:
- 使用 Rsbuild:Rsbuild 提供对 React 开箱即用的支持,能够快速创建一个 React 项目,详见 Rsbuild - React。
- 手动配置 Rspack:你可以参考当前文档,手动添加 React 相关的配置。
配置 JSX/TSX
Rspack 使用 SWC 转译器支持 JSX 和 TSX。
你可以添加 builtin:swc-loader 以支持 .jsx 和 .tsx 文件:
关于配置项的更多信息请参考 builtin:swc-loader。
Fast Refresh
通过 @rspack/plugin-react-refresh 支持 React Fast Refresh 功能,首先需要安装相关依赖:
React Fast Refresh 功能的开启主要分为两部分:代码注入和代码转换:
- 代码注入会注入
react-refresh包中的一些代码,以及一些自定义的运行时代码,都已集成在 @rspack/plugin-react-refresh 插件中,可通过该插件注入。 - 代码转换可通过 loader 来完成,比如
swc-loader的 jsc.transform.react.refresh 或babel-loader的 react-refresh/babel 插件。
这种实现方式将代码注入逻辑和转换逻辑解耦,代码注入逻辑统一通过 @rspack/plugin-react-refresh 插件完成,代码转换通过 loader 完成。这意味着该插件可以配合 builtin:swc-loader、swc-loader 或 babel-loader 使用:
- 配合
builtin:swc-loader使用方式可参考:examples/react-refresh,使用swc-loader只需将builtin:swc-loader换为swc-loader即可。 - 配合
babel-loader的使用方式可参考:examples/react-refresh-babel-loader
React Compiler
React Compiler 是 React 19 引入的一个实验性编译器,它可以自动优化你的 React 代码。
在开始使用 React Compiler 之前,建议阅读 React Compiler 文档,以了解 React Compiler 的功能、当前状态和使用方法。
React Compiler 目前仅支持 Babel 编译,这会导致构建时间变慢。
如何使用
在 Rspack 中使用 React Compiler 的步骤如下:
- 升级
react和react-dom版本到 19。如果你暂时无法升级,可以在 React 17 或 18 项目中安装 react-compiler-runtime,以允许编译后的代码在 19 之前的版本上运行。 - 目前 React Compiler 仅提供了 Babel 插件,你需要安装:
- 在你的 Rspack 配置中注册
babel-loader:
- 创建
babel.config.js并配置插件:
对于 React 17 和 18 的项目,除了安装 react-compiler-runtime,还需要指定 target:
示例
你可以参考以下示例项目:
集成 SVGR
SVGR 是一个用于将 SVG 转换为 React 组件的工具,
在 Rspack 中使用 SVGR 的方式与 webpack 中完全一致:
对于 SVGR 的详细用法,请参考 SVGR 文档 - webpack。

