このセクションの内容は、以下のリンクの内容から派生したものであり、CC BY 4.0ライセンスに従います。
特に明記されていない限り、以下の内容は、元の内容に基づいて変更および削除された結果と見なすことができます。
Rspackのモジュール解決ロジックを設定するために使用されます。
ObjectRecord<string, false | string | (string | false)[]>{}パスエイリアス、例えば
この時点で
require("@/a") は <root>/src/a を解決しようとします。require("abc") は <root>/src/abc を解決しようとします。require("abc/file.js") は一致せず、node_modules/abc/file.js を解決しようとします。string[]['browser']この仕様に従って解析されるべきフィールド(例:browser)を定義します。
string[][]package.jsonの exports および imports フィールドに対する node の conditionNames と同じです。
string[]['package.json']説明に使用するJSONファイル。
booleanresolve.extensionsに空の文字列が含まれている場合はデフォルトで true に変わり、それ以外の場合はこの値は false に変わります。
trueの場合、拡張子のないファイルは許可されません。したがって、デフォルトでは ./foo に .js 拡張子がある場合、require('./foo') は機能しますが、これを有効にすると require('./foo.js') のみ機能します。
string[][".js", ".json", ".wasm"]モジュールを順番に解析します。例えば require('. /index') は '. /index.js', '. /index.json' ...を解析しようとします。
Record<string, string[] | string>{}拡張子のエイリアスを定義します。例えば
これは、TypeScriptファイルを参照するために .js 拡張子を使用することを推奨しているため、TypeScriptプロジェクトで特に役立ちます。
Rspackは import './foo.js' を解決する際に './foo.ts' と ./foo.js' を順番に解決しようとします。
Record<string, false | string>{}通常の解決に失敗した場合にモジュールリクエストをリダイレクトします。
RspackはNode.jsコアモジュールを自動的にポリフィルしません。つまり、ブラウザなどで実行されるコードでそれらを使用する場合は、NPMから互換性のあるモジュールをインストールして自分で含める必要があります。
node-polyfill-webpack-pluginを使用して、Node.jsコアAPIを自動的にポリフィルできます。
または、webpack 4で使用されるNode.jsポリフィルのリストを参照してください
string[]["imports"]package.jsonの imports フィールドをカスタマイズします。これは、パッケージの内部リクエスト(# で始まるリクエストは内部と見なされます)を提供するために使用されます。
例えば
この構成が ["testImports", "imports"] の場合、現在のパッケージでの import value from '#foo' の結果は src/test/foo.js です。
string[]target が web の場合は ["browser", "module", "main"]["module", "main"]package.jsonのフィールドを解析しようとします。例:
このとき、import value from 'lib' は lib/es/index.js に解決されます。
string[]["index"]ディレクトリを解決する際のファイル名サフィックスです。例えば、require('. /dir/') は '. /dir/index' の解決を試みます。
string[]["exports"]package.jsonのexportsフィールドをカスタマイズします。例:
この設定が ["testExports", "exports"] の場合、import value from 'lib' の結果は lib/test.js となります。
string[]["node_modules"]依存関係を解決する際に使用するディレクトリの名前。
booleanfalse有効にすると、require('file') は最初に <modules>/file ではなく、現在のディレクトリの . /file ファイルを検索します。
booleanfalseresolve.roots を基準として、解決時に絶対パスを優先します。
string | object | undefinedundefinedRspackにおけるtsconfig-paths-webpack-pluginの代替。
stringこのオプションを通じてtsconfig.jsonのパスを渡すと、Rspackはtsconfig.jsonのpathsとbaseUrlに基づいてモジュールを解決しようとします。これはtsconfig-paths-webpack-pluginと同等の機能です。
string[] | "auto" | undefinedundefinedtsconfig プロジェクト参照をサポートします。tsconfig-paths-webpack-pluginで定義されています。
tsconfigパスのリストは手動で指定するか、autoを指定してtsconfig.referencesからパスリストを自動的に読み取ることができます。
この機能は、値がundefinedの場合、無効になります。
booleanfalse拡張子を解決せず、package.jsonのmainFilesも解決しません(ただし、mainFiles、browser、aliasからのリクエストには影響しません)。
string[][]リクエストが解決できるパスを制限するための解決制限のリスト。
string[][]サーバー相対URL('/'で始まる)が解決されるディレクトリのリスト。デフォルトではcontext設定オプションになります。Windows以外のシステムでは、これらのリクエストは最初に絶対パスとして解決されます。
booleantrueシンボリックリンクを、シンボリックリンクされた場所に解決するかどうか。
有効にすると、シンボリックリンクされたリソースは、シンボリックリンクされた場所ではなく、実際のパスに解決されます。 これは、パッケージをシンボリックリンクするツール(npm linkなど)を使用している場合、モジュール解決が失敗する可能性があることに注意してください。
Record<string, Resolve>。モジュールタイプに基づいてResolve設定をカスタマイズします。