このセクションの内容は、以下のリンクの内容から派生したものであり、CC BY 4.0ライセンスに従います。
特に明記されていない限り、以下の内容は、元の内容に基づいて変更および削除された結果と見なすことができます。
Rspackのモジュール解決ロジックを設定するために使用されます。
Object
Record<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ファイル。
boolean
resolve.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"]
依存関係を解決する際に使用するディレクトリの名前。
boolean
false
有効にすると、require('file')
は最初に <modules>/file
ではなく、現在のディレクトリの . /file
ファイルを検索します。
boolean
false
resolve.roots
を基準として、解決時に絶対パスを優先します。
string | object | undefined
undefined
Rspackにおけるtsconfig-paths-webpack-pluginの代替。
string
このオプションを通じてtsconfig.json
のパスを渡すと、Rspackはtsconfig.json
のpaths
とbaseUrl
に基づいてモジュールを解決しようとします。これはtsconfig-paths-webpack-pluginと同等の機能です。
string[] | "auto" | undefined
undefined
tsconfig プロジェクト参照をサポートします。tsconfig-paths-webpack-pluginで定義されています。
tsconfigパスのリストは手動で指定するか、auto
を指定してtsconfig.references
からパスリストを自動的に読み取ることができます。
この機能は、値がundefined
の場合、無効になります。
boolean
false
拡張子を解決せず、package.jsonのmainFilesも解決しません(ただし、mainFiles、browser、aliasからのリクエストには影響しません)。
string[]
[]
リクエストが解決できるパスを制限するための解決制限のリスト。
string[]
[]
サーバー相対URL('/'で始まる)が解決されるディレクトリのリスト。デフォルトではcontext
設定オプションになります。Windows以外のシステムでは、これらのリクエストは最初に絶対パスとして解決されます。
boolean
true
シンボリックリンクを、シンボリックリンクされた場所に解決するかどうか。
有効にすると、シンボリックリンクされたリソースは、シンボリックリンクされた場所ではなく、実際のパスに解決されます。 これは、パッケージをシンボリックリンクするツール(npm link
など)を使用している場合、モジュール解決が失敗する可能性があることに注意してください。
Record<string, Resolve>
。モジュールタイプに基づいてResolve設定をカスタマイズします。