Module Federation 共享库版本不一致时,别只靠沟通,试试在构建阶段就把冲突拦下来
构建期强制校验是解决 Module Federation 多团队共享依赖版本漂移的唯一可靠手段。通过自定义 Webpack 插件提取构建产物中实际解析的共享依赖版本,生成 manifest 文件,并在 CI 中与基准版本自动比对,对 singleton 依赖要求完全一致,对非 singleton 依赖校验版本范围,从而将版本冲突拦截在合入代码之前,避免线上多实例运行导致的隐蔽故障。
共 2 篇文章
构建期强制校验是解决 Module Federation 多团队共享依赖版本漂移的唯一可靠手段。通过自定义 Webpack 插件提取构建产物中实际解析的共享依赖版本,生成 manifest 文件,并在 CI 中与基准版本自动比对,对 singleton 依赖要求完全一致,对非 singleton 依赖校验版本范围,从而将版本冲突拦截在合入代码之前,避免线上多实例运行导致的隐蔽故障。
Module Federation 与 qiankun 的核心差异在于部署策略。MF 采用“整体协调发布”,子应用接口变更需宿主重新构建,导致回滚需联动、CI/CD 存在构建顺序依赖;qiankun 实现真正的独立部署,子应用通过 HTML 入口完全解耦,回滚与灰度更简单,但需注意入口 HTML 与资源的版本一致性。共享依赖上,MF 的 shared 机制易引发版本协调问题,而 qiankun 的 externals 方案更可控但牺牲灵活性。两者在缓存策略、监控排障上也因构建产物结构不同而各有利弊。