Module federation
关键: 具备模块输出能力的中心应用, 在线动态分发runtime子模块。
扩展, 其他共享模块方式:
描述 | 问题 | |
---|---|---|
NPM方式共享模块 | 共享代码需要将依赖作为Lib安装到项目 | 需要本地编译 |
UMD方式共享模块 | 将模块webpack UMD模式打包,并输出到其他项目 | 1. 包体积无法达到本地编译时的优化效果 2. 库之间容易冲突 |
微前端方式共享模块 | 解决模块共享, 实现多项目并存 1. 子应用独立打包, 模块解耦, 但无法提取公共依赖 2. 整体打包, 但打包速度慢, 不具备水平扩展能力 |
样式冲突 声明周期管理 |
参考:
https://www.webpackjs.com/concepts/
https://github.com/webpack/changelog-v5/blob/master/README.md
官方中文版 https://juejin.cn/post/6882663278712094727#heading-31
https://www.youtube.com/watch?v=J_sDa58UUQo
https://mp.weixin.qq.com/s/0aJmmmrQCwylpViRb09rQA
https://mp.weixin.qq.com/s/aC8mZZ8cwwY-mwhU0TL0JQ
https://mp.weixin.qq.com/s/b5Gl_1yX1enktU9oulO9zg
https://blog.logrocket.com/new-features-in-webpack-5-2559755adf5e/
https://indepth.dev/posts/1173/webpack-5-module-federation-a-game-changer-in-javascript-architecture
https://juejin.cn/post/6910120245734670349#heading-32