用途:把 Module Federation 集成进已有项目,为应用添加 provider(暴露模块)或 consumer(加载远程模块)配置。
主要能力:先通过 mf-context 技能收集 MFContext 并自动检测打包器;检测不到配置时提示用 npm create module-federation@latest 新建项目;已配置则说明现状并询问是否修改。随后收集角色(consumer/provider/both)、MF 应用名(不得含连字符)、是否连接公共 demo provider 或自定义 remote、要暴露的模块等参数。
使用方式:按检测到的打包器生成配置,如 Rsbuild 创建 module-federation.config.ts 并改 rsbuild.config.ts、安装 pnpm add @module-federation/rsbuild-plugin;Modern.js、Rspack(需 Rspack > 1.7.4 以支持 experiments.asyncStartup)、Webpack、Next.js、Vite 各有对应插件与安装命令。React/Vue 依赖按 singleton 设置 shared。consumer 或 both 角色可自动把远程组件插入入口文件并补充 TypeScript 声明,provider 角色说明验证地址。
适用场景:已有前端项目快速接入模块联邦。
限制:Next.js 的 @module-federation/nextjs-mf 仅支持 Pages Router,且不再积极维护;找不到入口文件时不盲目写入;其余价格、性能数据暂未提供。