このセクションの内容は、以下のリンクの内容から派生しており、CC BY 4.0 ライセンスに従います。
特に明記されていない限り、以下の内容は、元の内容を修正および削除した結果と見なすことができます。
これは、Rspackが内部で使用するプラグインのリストであり、webpackが内部で使用するプラグインに合わせて調整されています。
これらのプラグインに関心を持つ必要があるのは、Rspackに基づいて独自のコンパイラを構築している場合、または内部検査を行う場合のみです。
内部プラグインのカテゴリ
コンパイラの環境に影響を与えるプラグイン。
electron.ElectronTargetPlugin(context)
Electronアプリケーションのさまざまなコンテキスト(メインプロセス、プリロードスクリプト、レンダラープロセスなど)での外部依存関係の処理をカスタマイズします。
externalsPresets.electron
、externalsPresets.electronMain
、externalsPresets.electronRenderer
、およびexternalsPresets.electronPreload
はすべてこのプラグインに依存しています。
node.NodeEnvironmentPlugin()
Node.jsスタイルのファイルシステムをコンパイラに適用します。
コンパイラに影響を与えるプラグイン。
ProgressPlugin(handler)
コンパイラにフックして、進捗情報を抽出します。handler
は、function(percentage, message)
の署名を持つ必要があります。パーセンテージは0から1の間の値で呼び出され、0は開始を示し、1は終了を示します。
コンパイルにエントリーチャンクを追加するプラグイン。
EntryPlugin(context, entry, options)
コンパイル時にエントリチャンクを追加します。チャンクの名前はoptions.name
で、モジュール(および依存関係)を1つだけ含みます。モジュールは、context
(絶対パス)内のentry
から解決されます。
context
:モジュール解決のベースパス。このパスの下で、エントリモジュール解決が実行されます。entry
:エントリーポイントとして使用するモジュールパスを指定します。options
:エントリモジュールの追加構成。DynamicEntryPlugin(context, entry)
EntryPlugin
と似ていますが、entry
引数として関数を受け入れます。この関数は、エントリポイントを動的に決定するために、ビルドプロセスの各make
イベント中に呼び出されます。
EntryOptionPlugin()
EvalDevToolModulePlugin(options)
各モジュールを// @sourceURL
でアノテーションされたeval
でラップすることにより、モジュールテンプレートを装飾します。
webworker.WebWorkerTemplatePlugin(options)
チャンクはimportScripts
によってロードされます。
options
は、出力オプションです。
このプラグインは、WASMバンドルのためのランタイムコードを提供するために使用され、多くの場合、子コンパイラと一緒に使用されます。
web.FetchCompileAsyncWasmPlugin()
モジュールのソースコードに影響を与えるプラグイン。
ProvidePlugin(name, request)
モジュールでname
が使用されている場合、require(<request>)
によってロードされたモジュールで埋められます。
node.NodeTargetPlugin()
バンドルをNode.js環境で実行する場合は、このプラグインを使用する必要があります。
バンドルされていても、ネイティブモジュールが正しくロードされるようにします。
rspack.optimize
名前空間下のすべてのプラグインは、mode
が'none'
に設定されている場合にのみ使用する必要があります。そうしないと、プラグインが2回適用される問題が発生する可能性があります。
optimize.LimitChunkCountPlugin(options)
チャンク数を制限し、チャンク数がoptions.maxChunks
より少ない場合はチャンクをマージします。
各チャンクのオーバーヘッドは、options.chunkOverhead
によって提供されるか、デフォルトで10000になります。エントリチャンクのサイズは、options.entryChunkMultiplicator
(または10)が乗算されます。
合計サイズを最も削減するチャンクが最初にマージされます。複数の組み合わせが同じ場合は、最小のマージサイズが優先されます。
LoaderOptionsPlugin(options)
LoaderTargetPlugin(target)
Module Federationで使用される内部プラグイン。ModuleFederationPlugin
の基礎となるものです。
container.ContainerPlugin(options)
container.ContainerReferencePlugin(options)
sharing.ConsumeSharedPlugin(options)
sharing.ProvideSharedPlugin(options)
sharing.SharePlugin(options)