Rspack は webpack と同様の設定を提供します。この章では、Rspack の設定を使用する方法を説明します。
Rspack CLI を実行すると、Rspack は現在の作業ディレクトリにある rspack.config.js ファイルを自動的に読み取ります。
基本的な Rspack 設定ファイルは次のようになります。
Rspack は、.js、.ts、.cjs、および .mjs の 4 種類の設定ファイルをサポートしています。
rspack.config.js: デフォルトは CommonJS 形式です。package.json のタイプが module の場合は ES modules 形式になります。rspack.config.ts: TypeScript 形式。内部で ts-node を使用して .js 形式にコンパイルされます。rspack.config.cjs: 強制的に CommonJS 形式になります。rspack.config.mjs: 強制的に ES modules 形式になります。
CommonJSとES modulesの違いについては、ES modules および CommonJS を参照してください。
rspack.config.js は JavaScript ファイルなので、JSDoc を使用して IDE の Intellisense および TypeScript の型チェックを有効にできます。
または、設定の自動補完を提供する defineConfig ヘルパーを使用することもできます。
または、設定ファイルとして TypeScript を使用することもできます。デフォルトの TypeScript 設定ファイル名は rspack.config.ts です。
Rspack が ts 拡張子を解決できるように、ts-node を devDependencies としてインストールする必要があります。
使用している Node.js のバージョンが --experimental-transform-types フラグをサポートしている場合は、ts-node をインストールしなくても Node.js の組み込みの TS 変換を使用できます。
Rspack は、JS ファイルが存在しない場合は、最初に JavaScript を検索し、次に TypeScript を検索することに注意してください。
--config オプションを使用して、設定ファイルの名前を指定できます。
たとえば、ビルドを実行するときに rspack.prod.config.js ファイルを使用する必要がある場合は、次のスクリプトを package.json に追加できます。
--config オプションを -c に省略することもできます。
Rspack は rspack.config.js で関数のエクスポートをサポートしています。関数内で設定を動的に計算し、Rspack に返すことができます。
上記の例からわかるように、関数は 2 つの入力パラメーターを受け取ります。
env で、CLI コマンドを実行するときの --env オプションの値に対応します。argv で、CLI に渡されたすべてのオプションが含まれています。env パラメーターを渡すことに加えて、現在の環境を決定するために process.env.NODE_ENV を使用するのが一般的です。
webpack-merge によってエクスポートされた merge 関数を使用して、複数の設定をマージできます。
merge の詳細については、webpack-merge ドキュメントを参照してください。