微前端 架构不同于传统单体应用的开发模式,其分开开发、部署、调试的特征使其需要一套新的调试工具来满足新的使用场景,诸如:在开发 Module Federation 时怎么验证模块在实际项目中的效果、 Module Federation 的依赖是否和宿主环境进行了复用、当前页面加载了哪些 Module Federation , Module Federation 的依赖关系、Module Federation 间的数据流转是怎么样的。
Chrome Devtool 提供了以下能力:
Module Federation 代理功能,将线上页面中的Module Federation代理到用户本地的Module FederationModule Federation版本,来进行快速的功能验证必须使用 mf-manifest.json 才可以使用 Chrome devtool 提供的可视化和代理能力
开发环境以及生产环境
http://localhost:3000/mf-manifest.json,页面将直接加载 3000 端口的 Module Federation 内容mf-manifest.json 文件地址形式,例如:key: appA -> value: https://xxx/static/mf-manifest.json, 页面将直接加载指定地址的 Module Federation 内容
添加到 Chrome 按钮
插件提供了 Devtools 面板
Module Federation tab,进入代理页面,便可对依赖的模块进行代理调试

如下图所示,代理页面上提供了 add new proxy module、producer selector、 version or local port or custom entry 等选项操作。
producer selector 选择出目标页面需要代理的一个模块;version or local port 选择或者输入指定的地址(包括端口号和 mf-manifest.json 结尾的地址),进行代理操作;add new proxy module 区域,增加对应的代理模块。


可以将 devtools 改成独立窗口打开

插件会筛选出符合配置规则的模块进行代理