基于 qiankun 对菜单进行混排

本文介绍了在使用 qiankun 构建的微前端系统中,如何解决子应用间菜单混排的问题。作者分享了在处理过程中遇到的坑以及解决思路,包括页面加载失败、菜单切换到空白页、一级菜单展开错误等。通过详细的操作步骤,阐述了如何实现菜单数据的处理,确保混排后能正常工作。最后,作者推荐了联蔚盘云官网作为问题咨询平台。

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

相信很多公司正在用微前端对产品进行架构系统的优化,因为微前端的 独立性,技术灵活性 等核心价值,为微前端带来了不少流量。

以下以 qiankun 为例(以下介绍借鉴于 qiankun)

什么是微前端

微前端是一种多个团队通过独立发布功能的方式来共同构建现代化 web 应用的技术手段及方法策略。

微前端的价值所在

· 技术栈无关
主框架不限制接入应用的技术栈,微应用具备完全自主权

· 独立开发、独立部署
微应用仓库独立,前后端可独立开发,部署完成后主框架自动完成同步更新

· 增量升级

在面对各种复杂场景时,我们通常很难对一个已经存在的系统做全量的技术栈升级或重构,而微前端是一种非常好的实施渐进式重构的手段和策略

· 独立运行时
每个微应用之间状态隔离,运行时状态不共享

微前端给各大厂带来了各种便利,而有些又是大家觉着很正常但是恰恰又不支持的功能摆在面前,而不得不去解决。

博主公司是基于 qiankun 搭建的系统框架,同时子应用多达十个,但是从用户反馈来说,菜单的灵活性不够,因为子应用之间的子菜单不能够随意调换,也就是菜单混排。

在这里插入图片描述
单项目中,菜单之间是可以随意调换而不会有任何影响的,但是在两个独立运行的子应用中,想让菜单相互混排,就比较麻烦了。

处理过程中,也踩过不少坑,特别注意的是以下几点

1、什么都不操作的情况下,直接进行菜单混排,页面加载不出来

在这里插入图片描述

2、如果只把混排后的子菜单,复原到原菜单下,则在进行菜单切换的时候,同样访问的是空白页面(如上图)
3、如果在保留混排后的子菜单,并复制一个子菜单到到原菜单下,则在访问菜单时,一级菜单会读取比较靠前的那个,导致一级菜单展开的不对

如把一级菜单 cpp管理 下的子菜单 cpp订单管理 混排到 一级菜单 工具中心 下,通过上面的操作,在访问 cpp订单管理 时,一级菜单 展开的是 cpp管理 而不是 工具中心

在这里插入图片描述

4、在新建菜单时 ,会有一个很蛋疼的操作,就是两个实用菜单之间要创建一个伪菜单,进行过度(这个 BUG 很蛋疼,最终完全解决混排前都不知道怎么产生的 ╮(╯▽╰)╭)

在这里插入图片描述

先给大家说下解决思路吧

1、首先获取菜单数据,并
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值