Rspack は React をサポートするための 2 つのソリューションを提供します。
Rspack は JSX/TSX に SWC トランスフォーマーを使用します。
jsx
と tsx
をサポートするには、builtin:swc-loader
ローダーを追加します。
詳細な設定については、組み込み swc-loader を参照してください。
現在、Rspack で React Fast Refresh を有効にする方法は 2 つあります。
最初に、React Fast Refresh をサポートするために @rspack/plugin-react-refresh をインストールする必要があります。
React Fast Refresh 機能の有効化は、主にコードインジェクションとコード変換の 2 つの側面から成ります。
react-refresh
パッケージからのいくつかのコードと、いくつかのカスタムランタイムコードを注入します。これらはすべて @rspack/plugin-react-refresh プラグインに統合されており、このプラグインを通じて注入できます。builtin:swc-loader
の場合は jsc.transform.react.refresh、babel-loader
の場合は react-refresh/babel などのローダーを通じて追加できます。以前のアプローチと比較して、この方法は React Fast Refresh のコードインジェクションロジックと変換ロジックを分離します。コードインジェクションロジックは @rspack/plugin-react-refresh プラグインによって統一的に処理され、コード変換はローダーによって処理されます。つまり、このプラグインは 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 コンパイラは、React 19 で導入された実験的なコンパイラで、React コードを自動的に最適化できます。
React コンパイラを使用する前に、React コンパイラ ドキュメント を読んで、React コンパイラの機能、現在の状態、使用方法を理解することをお勧めします。
現在、React コンパイラは Babel コンパイルのみをサポートしており、ビルド時間が遅くなる可能性があります。
Rspack で React コンパイラを使用する手順
react
と react-dom
のバージョンを 19 にアップグレードします。babel-loader
を登録します。babel.config.js
を作成し、プラグインを設定します。以下の例プロジェクトを参照できます。
SVGR は、Scalable Vector Graphics (SVG) ファイルを React コンポーネントに変換するための汎用ツールです。
Rspack での SVGR の使い方は、Webpack とまったく同じです。
SVGR の詳細な使用方法については、SVGR ドキュメント - webpack を参照してください。