前端-微前端
实现方式:
(1)微前端是一种多个团队通过独立发布功能的方式来共同构建现代化 web应用的技术手段及方法策略。
(2)微前端的核心目标是将巨石应用拆解成若干可以自治的松耦合微应用,这样才能确保微应用真正具备独立开发、独立运行的能力
二、特性
(1)技术栈无关 主框架不限制接入应用的技术栈,子应用可自主选择技术栈
(2)独立开发/部署 各个团队之间仓库独立,单独部署,互不依赖
(3)增量升级 当一个应用庞大之后,技术升级或重构相当麻烦,而微应用具备渐进式升级的特性
(4)独立运行时 微应用之间运行时互不依赖,有独立的状态管理
(5)提升效率 应用越庞大,越难以维护,协作效率越低下。微应用可以很好拆分,提升效率
三、方案
1、基于iframe完全隔离的方案
优点: 非常简单,无需任何改造
完美隔离,JS、CSS 都是独立的运行环境
不限制使用,页面上可以放多个 iframe 来组合业
缺点: 无法保持路由状态,刷新后路由状态就丢失
完全的隔离导致与子应用的交互变得极其困难,只能采用postMessage方式。
iframe 中的弹窗无法突破其本身
整个应用全量资源加载,加载太慢
2、基于 single-spa 路由劫持方案
single-spa 是社区公认的主流方案,可以基于它做二次开发。
通过劫持路由的方式来做子应用之间的切换,但接入方式需要融合自身的路由,有一定的局限性
3、阿里 qiankun
4、京东 micro-app 方案