このセクションの内容は、以下のリンクの内容から派生しており、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)