Webpack Module Federation 用于解决应用间的复用
假设你公司有一套自己的组件库,并发布成了 NPM 包放到线上。
某天,你正在基于该组件库开发一个业务需求,突然发现了组件库的一个 bug,这时候通常会开启下面的处理流程:
- 通知组件库的开发人员;
- 组件库开发人员修复 bug;
- 组件库开发人员更新组件库版本号,并发布到 NPM 上;
- 组件开发人员通知你新的版本号;
- 更新组件库;
- 验证 bug 已修复并继续开发。
以上流程最大的问题就是经过外网来上传和下载新库,而且需要频繁的修改组件库版本号。
使用 Webpack 的 Module Federation,可以将组件库在暴露在本地或者公司内网,然后通过配置直接使用。当组件库出现问题的时候,只要组件库开发人员在本地修复,我们就能实时获得最新的代码了,省略了上面的 3、4、5 步,有助于提高开发效率。'
PS:NPM 外网的弊端,如果你用的是官方仓库,可能网速会有问题;如果你用的淘宝镜像,可能需要等待同步。
参考资料
- Module Federation
- 代码示例