微前端框架 qiankun

前言

qiankun是一个基于single-spa的微前端实现库,帮助你构建一个生产可用的微前端架构系统。qiankun支持多种技术栈的微应用接入,提供了简单、解耦、技术栈无关、独立开发、独立运行、增量升级、样式隔离、资源预加载等特性,以及umi插件一键切换。

微前端是一种多个团队通过独立发布功能的方式来共同构建现代化web应用的技术手段及方法策略。微前端架构具备以下几个核心价值:

  • 技术栈无关:主框架不限制接入应用的技术栈,微应用具备完全自主权
  • 独立开发、独立部署:微应用仓库独立,前后端可独立开发,部署完成后主框架自动完成同步更新
  • 增量升级:在面对各种复杂场景时,我们通常很难对一个已经存在的系统做全量的技术栈升级或重构,而微前端是一种非常好的实施渐进式重构的手段和策略
  • 独立运行时:每个微应用之间状态隔离,运行时状态不共享

qiankun的优点有:

  • 基于single-spa封装,提供了更加开箱即用的API
  • HTML Entry接入方式,让你接入微应用像使用iframe一样简单
  • 样式隔离,确保微应用之间样式互相不干扰
  • JS沙箱,确保微应用之间全局变量/事件不冲突
  • 资源预加载,在浏览器空闲时间预加载未打开的微应用资源,加速微应用打开速度
  • umi插件,提供了@umijs/plugin-qiankun供umi应用一键切换成微前端架构系统

qiankun的缺点有:

  • 需要主应用提供一些生命周期钩子,以便qiankun能够正确地加载和卸载微应用
  • 需要微应用遵循一些约定,如导出生命周期函数,不污染全局变量,使用正确的publicPath等
  • 需要处理好微应用之间的通信和依赖,避免出现耦合和冲突的情况
  • 需要考虑浏览器的兼容性和性能问题,尤其是在使用沙箱和预加载功能时
相关推荐
半个烧饼不加肉1 小时前
React + ts + react-webcam + CamSplitter 实现虚拟摄像头解决win摄像头独占的问题
前端·react.js·前端框架
代码的余温4 小时前
React核心:组件化与虚拟DOM揭秘
前端·react.js·前端框架
用户84913717547168 小时前
vue-element-plus-admin 第5期|Axios实战:HTTP 请求与数据处理
前端框架·axios·前端工程化
sHlsy19959 小时前
Svelte 5 完全指南:从入门到跨端应用开发
前端框架·svelte
Thomas游戏开发1 天前
Unity Root Motion 开发详解
前端框架·unity3d·游戏开发
chancygcx_1 天前
前端框架Vue3(四)——组件通信及其他API
vue.js·前端框架
用户84913717547161 天前
vue-element-plus-admin 第4期|权限系统实战:动态路由 + 权限控制机制全解析
前端框架·vue-router·前端工程化
德育处主任1 天前
p5.js 3D模型(model)入门指南
前端·前端框架·canvas
懋学的前端攻城狮1 天前
从 UI = f(state) 到 Fiber 架构:解构 React 设计哲学的“第一性原理”
前端·react.js·前端框架
全球网站建设2 天前
从结构到交互:HTML5进阶开发全解析——语义化标签、Canvas绘图与表单设计实战
javascript·前端框架·php·reactjs·css3·html5