微前端
架构不同于传统单体应用的开发模式,其分开开发、部署、调试的特征使其需要一套新的调试工具来满足新的使用场景,诸如:在开发 Module Federation
时怎么验证模块在实际项目中的效果、 Module Federation
的依赖是否和宿主环境进行了复用、当前页面加载了哪些 Module Federation
, Module Federation
的依赖关系、Module Federation
间的数据流转是怎么样的。
Chrome Devtool
提供了以下能力:
Module Federation
代理功能,将线上页面中的Module Federation
代理到用户本地的Module Federation
Module 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 改成独立窗口打开
插件会筛选出符合配置规则的模块进行代理