用途:指导把微前端(MFE)应用注册到 DataHub 前端,使其在 /mfe/<path> 加载,并可选择显示在左侧导航栏。覆盖本地开发、生产/Kubernetes 部署与排障。
主要能力:先收集配置信息(环境目标、MFE 应用名 mf_name、访问路径 mfe_path、remoteEntry.js URL、导航显示标签、是否显示在导航栏、导航图标),再生成对应 YAML 配置项并应用到相应配置文件,最后验证加载与导航是否正常。
使用方式:
- 收集信息。MFE 应用名需与 webpack.config.js 中 ModuleFederationPlugin 的 name 完全一致,否则 MFE 无法加载。
- 生成 YAML 配置项,字段包括 id、label、path、remoteEntry、module(MF_NAME/mount)、flags.enabled、flags.showInNav、navIcon;id 由路径派生(去掉开头 /,把 / 换成 -)。
- 应用配置:
- Docker / datahub-dev.sh:编辑 datahub-frontend/conf/mfe.config.dev.yaml,在 microFrontends: 下追加条目,然后执行 scripts/dev/datahub-dev.sh rebuild --wait 重建前端容器。
- 直接运行 Play 服务器(sbt / IntelliJ):编辑 datahub-frontend/conf/mfe.config.local.yaml,重启 Play 服务器即可,无需重建:cd datahub-frontend/run && ./run-local-frontend
- 生产 / Kubernetes:不改本地文件,提供完整 YAML 供加入生产配置,并说明环境变量与卷挂载设置。部署到 CDN/静态主机时需构建时设置 MFE_PUBLIC_PATH,如 MFE_PUBLIC_PATH=https://cdn.example.com/my-mfe/ npm run build。
- 验证:浏览器打开 remoteEntry URL 应返回 JavaScript;访问 http://localhost:9002/mfe<MFE_PATH>(或生产地址)确认渲染;若开启导航则侧边栏应显示对应标签与图标。失败时参考排障部分。
适用场景:需要向 DataHub 前端注册 MFE、在导航中展示自定义数据看板或工具页面时。
限制:本地 Docker 需重建容器;Play 模式需重启服务;生产环境需自行维护生产配置文件;MFE 应用名必须精确匹配。其余细节(如完整排障步骤)资料未提供,暂未提供。