微前端解决方案-qiankun实战及摆设

手机游戏开发者 2024-9-24 17:42:17 86 0 来自 中国


先来张图片压压惊
在线demo:wzs.bengdada.com/
单独访问在线子应用:

  • subapp/micro-react
  • subapp/micro-vue2
  • subapp/micro-vue3
一.导读

1.什么是微前端


  • 微前端是一种多个团队通过独立发布功能的方式来共同构建当代化 web 应用的技能本事及方法战略。
  • 微前端架构具备以下几个核心价值:
    技能栈无关 : 主框架不限定接入应用的技能栈,微应用具备完全自主权
    独立开辟、独立摆设 : 微应用堆栈独立,前后端可独立开辟,摆设完成后主框架主动完成同步更新
    增量升级:在面临各种复杂场景时,我们通常很难对一个已经存在的体系做全量的技能栈升级或重构,而微前端是一种非常好的实行渐进式重构的本事和战略
    独立运行时 : 每个微应用之间状态隔离,运行时状态不共享
  • 微前端架构旨在解决单体应用在一个相对长的时间跨度下,由于加入的职员、团队的增多、变迁,从一个寻常应用演变成一个巨石应用(Frontend Monolith)后,随之而来的应用不可维护的题目。这类题目在企业级 Web 应用中尤其常见。
2.qiankun是什么


  • qiankun 是一个基于 single-spa 的微前端实现库,旨在资助各人能更简单、无痛的构建一个生产可用微前端架构体系。
    官网: https://qiankun.umijs.org/zh
  • qiankun特性
    基于 single-spa 封装,提供了更加开箱即用的 API。
    技能栈无关,恣意技能栈的应用均可 使用/接入,岂论是 React/Vue/Angular/JQuery 还是其他等框架。
    HTML Entry 接入方式,让你接入微应用像使用 iframe 一样简单。
    样式隔离,确保微应用之间样式相互不干扰。
    JS 沙箱,确保微应用之间 全局变量/变乱 不辩说。
    ⚡️ 资源预加载,在欣赏器空闲时间预加载未打开的微应用资源,加快微应用打开速率。
    umi 插件,提供了 @umijs/plugin-qiankun 供 umi 应用一键切换成微前端架构体系。
  • 相识完理论底子,让我们动手实践一下···
二.创建项目


2.png
如图: 我创建了一个主应用和三个子应用
主应用  main     vue3搭建  "vue": "^3.0.0",        
子应用  micro-react   react18搭建 "react": "^18.1.0",
子应用  micro-vue2    vue2搭建 "vue": "^2.6.11",
子应用  micro-vue3    vue3搭建 "vue": "^3.0.0",
留意 : vue3技能选型我使用的是vue3  +  webpack ,vite现在对于qiankun还不是太友好 ,硬要搞vite代价会很大,后续等官网优化后我们在去使用vite
由于搭建项目太简单我就不阐明确 ~ ovo
三.主应用

留意: qiankun 须要一个主应用 来注入所有的子应用
先安装乾坤的依靠包
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 16:55, Processed in 0.163463 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表