解决方案 | 优点 | 缺点 |
服务器路由重定向(通过 Nginx 配置代理映射到不同的子模板应用上) | 简单、快速、易配置 | 在切换应用时会触发浏览器刷新,影响体验 |
iframe(iframe + 自定义消息传递) | 1. 实现简单
2. 技术不限制
3. 消息传递 | 1. Bundle 的大小各异
2. 无 SEO
3. URL 状态不同步
4. DOM 结构不共享
5. 全局上下文完全隔离,内存变量不共享
6. 速度慢 |
Web Components | 1. 拥有自己独立的 Scripts 和 Styles,以及对应的用于单独部署子应用组件的域名;
2. 代码的可读性变得非常清晰,组件资源内部高内聚,组件资源由自身加载控制; | 1. 浏览器和框架的支持不够
2. 重写现有的前端应用
3. 系统架构复杂 |
Module Federation | 1. 开箱即用
2. 独立开发与部署
3. 去中心化
4. 组件共享 | 1. 无法沙箱隔离
2. 技术单一
3. 代码封闭性高
4. 拆分粒度需要权衡
5. 依赖前置 |
组合式应用路由分发 | 1. 技术不限制
2. 无感切换
3. 利于SEO
4. 独立开发与部署
5. 微前端优势几乎都有 | 沙箱不隔离 |