【もじゅーるふぇでれーしょん】
モジュールフェデレーション とは?
最終更新:
💡 別々のアプリが実行中に部品を貸し借りする仕組み
別々にビルドしたアプリケーション間で、モジュールを実行時に読み込み、組み合わせる仕組み。Webpack 5の機能として知られ、マイクロフロントエンドの実装にも使われる。
📌 このページのポイント
モジュールフェデレーションって何ができるの?
ECサイトなら、どんな使い方になるの?
たとえば画面全体をまとめるHostが、カート用Remoteと決済用Remoteから画面部品を取得するんだ。別チームが作った部品を、一つの画面へ組み込める。HostとRemoteは役割の呼び方で、一つのアプリが公開と利用の両方を担うこともあるよ。
Remoteを更新すれば、必ず最新版が使われる?
独立して公開できるのは利点だけれど、Hostが参照するURLや配信・キャッシュ、版の扱いによるよ。新しい部品がHostの想定と互換かも確認する必要がある。無条件に最新版へ切り替わって安全に動く、と保証する仕組みではないんだ。
共通ライブラリは一度しか読み込まれないの?
設定や運用では何を考えるの?
Webpackではexposesで公開する部品、remotesで参照先、sharedで共有する依存関係を設定するよ。その上で、取得失敗や互換性の崩れをどう扱うかを決める。マイクロフロントエンドを実現する手段の一つなので、独立公開の利点と、接続先や版を管理する手間を合わせて考えよう。
まとめ:ざっくりこれだけ覚えればOK!
「モジュールフェデレーション」って出てきたら「複数のアプリが実行時に部品を共有する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Module Federation」 = モジュール連合
💬 複数の独立アプリ(国家)がモジュール(資源)を自由に共有する「連合(federation)」のイメージだよ