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 ドキュメントを参照してください。