このプラグインは、Module Federation 1.5を実装します。
string
Module Federation 1.5 ランタイムの実装としてパスを指定します。デフォルトは@module-federation/runtime-toolsです。
string[]
Module Federation 1.5 の実行に必要なプラグインを提供します。これにより、Module Federation の動作と機能を拡張できます。
string
現在のビルドで他のコンテナに公開される一意の名前を定義します。この名前は、リモートコンテナのグローバル変数として存在します。
string
リモートコンテナのエントリーファイルのファイル名を指定します。他のコンテナは、このファイルを介して公開されたモジュールをロードします。
string | false
リモートコンテナのエントリーのランタイムチャンクを定義します。
リモートコンテナのエントリーの出力形式を定義します。デフォルトの libraryType は "var" です。
string
現在のコンテナ内の共有依存関係の名前空間を定義します。異なるコンテナ間で共有スコープを構成することで、モジュールの共有動作を制御できます。これには、異なるコンテナ間で共有されるモジュールを決定することが含まれます。デフォルトの共有スコープは"default"
です。
'version-first' | 'loaded-first'
共有依存関係の読み込み戦略を制御します
'version-first'
: バージョンが優先されます。設定後、すべてのリモートエントリーファイルが自動的にロードされ、対応する共有依存関係が登録され、すべての共有依存関係のバージョンを取得できるようになります。この戦略は、厳密なバージョン要件がある場合に推奨されます。
'loaded-first'
: 最初は再利用します。設定後、リモートエントリーファイルは自動的にロードされません(必要な場合にのみロードされます)。登録された共有依存関係が最初に再利用されます。この戦略は、バージョンに厳密な要件がなく、パフォーマンスが重要な場合に推奨されます。
リモートコンテナのロード方法を定義します。デフォルトは"script"
で、<script />
タグ経由でロードします。
リモートでロードされるモジュールとそのアドレスの定義。キーはリモートコンテナの名前、値はリモートコンテナによって公開されるグローバル変数名とリモートコンテナエントリーの URL です。また、shareScope を指定して、リモートコンテナが依存関係を共有するかどうかを制御することもできます。
リモートコンテナからローカルモジュールを参照する方法を定義します。キーはリモートコンテナでリモートモジュールとして参照されるときのモジュールの名前であり、値は現在のフォルダーに対するモジュールパスです。名前を指定して、公開されたローカルモジュールの名前を指定できます。
どの依存関係を共有依存関係にするかを指定します。これにより、複数のマイクロフロントエンドが依存関係ライブラリの同じインスタンスを共有し、同じコードを繰り返しロードすることを回避できます。キーが共有モジュールの名前で、値が構成またはバージョン文字列であるオブジェクト辞書にすることができます。また、配列項目が共有パッケージ名または構成である配列にすることもできます。
SharedConfig には、次のサブオプションを含めることができます
true
に設定すると、共有モジュールは使用時に動的にロードされるのではなく、初期チャンクにロードされます。これは、共有モジュールが使用されているかどうかに関係なく、メインのエントリーポイントとともにロードされることを意味します。これにより、動的ロードによる遅延を解消できますが、初期パッケージのサイズが増加します。また、この構成が有効になっている場合、提供されたすべてのモジュールとフォールバックモジュールは常にダウンロードされることに注意してください。package.json
からパッケージ名と必要なバージョンを決定するために使用されます。パッケージ名がリクエストに基づいて自動的に決定できない場合にのみ、構成が必要です。"^1.2.3"
。共有モジュールのバージョン範囲を設定するために使用されます。リモートコンテナのモジュールバージョンがこの範囲を満たさない場合、モジュールはロードされません。"default"
です。requiredVersion
を強化するために使用されます。true
に設定すると、共有モジュールは requiredVersion で指定されたバージョンと完全に一致する必要があります。そうでない場合はエラーが報告され、モジュールはロードされません。false
に設定すると、不正確なマッチングを許容できます。package.json
のバージョンが使用されます。ビルド出力でダウングレードされていない構文が見つかりましたか?
レガシーブラウザとの互換性が必要な場合は、構文ダウングレードのためにbuiltin:swc-loaderを追加し、それが@module-federation/runtime
および@module-federation/sdk
と一致していることを確認してください。以下に例を示します。