微前端(特性是什么?目前可用的微前端方案?)

本文介绍了微前端的概念及其带来的优势,包括技术栈无关性、独立开发与部署能力、增量升级特性等,并对比了几种不同的微前端解决方案,如基于iframe的方案、single-spa路径劫持方案及京东micro-app方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        微前端借鉴了微服务的架构理念,将一个庞大的前端应用拆分为多个独立灵活的小型应用,每个应用都可以独立开发、独立运行、独立部署,再将这些小型应用联合为一个完整的应用。微前端既可以将多个项目融合为一,又可以减少项目之间的耦合,提升项目扩展性,相比一整块的前端仓库,微前端架构下的前端仓库倾向于更小更灵活。

特性

  • 技术栈无关 主框架不限制接入应用的技术栈,子应用可自主选择技术栈
  • 独立开发/部署 各个团队之间仓库独立,单独部署,互不依赖
  • 增量升级 当一个应用庞大之后,技术升级或重构相当麻烦,而微应用具备渐进式升级的特性
  • 独立运行时 微应用之间运行时互不依赖,有独立的状态管理
  • 提升效率 应用越庞大,越难以维护,协作效率越低下。微应用可以很好拆分,提升效率

目前可用的微前端方案

类型:

  • 基于iframe完全隔离的方案
    • 优点:
      • 非常简单,无需任何改造
      • iframe 来组合业务
      • 不限制使用,页面上可以放多个 
      • 完美隔离,JS、CSS 都是独立的运行环境
    • 缺点:
      • 无法保持路由状态,刷新后路由状态就丢失
      • 完全的隔离导致与子应用的交互变得极其困难
      • iframe 中的弹窗无法突破其本身
      • 整个应用全量资源加载,加载太慢
  • 基于single-spa路径劫持方案
    • single-spa 通过劫持路由的方式来做子应用之间的切换,但接入方式需要融合自身的路由,有一定的局限性。
    • qiankun 孵化自蚂蚁金融科技基于微前端架构的云产品统一接入平台。它对 single-spa 做了一层封装。主要解决了 single-spa 的一些痛点和不足。通过 import-html-entry 包解析 HTML 获取资源路径,然后对资源进行解析、加载。
      • 通过对执行环境的修改,它实现了 JS 沙箱、样式隔离 等特性。
  • 京东micro-app方案
    • 京东 micro-app 并没有沿袭 single-spa 的思路,而是借鉴了 WebComponent 的思想,通过 CustomElement 结合自定义的 ShadowDom,将微前端封装成一个类 webComponents 组件,从而实现微前端的组件化渲染。
  • 在Vite上使用微前端
    • 我们是从 UmiJS 迁移到了 Vite

为什么没用qiankun

  • qiankun 是目前是社区主流微前端方案。它虽然很完善、流行,但最大的问题就是不支持 Vite。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nia134

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值