当前位置: 首页 > news >正文

微前端四:qiankun在开发中遇到的问题

在qiankun开发中会遇到很多问题,上一篇微前端三:qiankun 协作开发和上线部署其实也是在解决一些经常遇到的问题,下面的两点也算是比较经典的了
1、子应用图片路径问题
2、基座是Vue2.0 + element ui 配合 子应用 Vue3.0 + element plus 导致的样式冲突问题
具体怎么解决我们一起来看下。

一、子应用图片路径问题
在使用qiankun做微前端的过程中,子应用在主应用(基座)的过程中出现静态资源404问题,
原因是子应用放入到基座中后,静态资源会默认走主应用地址去访问,但是主应用又没有这些静态资源文件,其结果显而易见,肯定是404了。
我们需要将 webpack publicPath 配置设置成一个绝对地址的 url,改为绝对路径即可:

const { name } = require("./package");
module.exports = {// Webpack dev serverpublicPath: `/${name}`,configureWebpack: {output: {library: `${name}-[name]`,libraryTarget: "umd", // 把微应用打包成 umd 库格式jsonpFunction: `webpackJsonp_${name}`}},chainWebpack: (config) => {config.module.rule("images").use("url-loader").loader("url-loader").options({limit: 4096, // 小于4kb将会被打包成 base64fallback: {loader: "file-loader",options: {name: "img/[name].[hash:8].[ext]",publicPath}}});},productionSourceMap: false
};

这里的name 就是注册微应用的 entry值,之前文档也有提过。

二、基座是Vue2.0 + element ui 配合 子应用 Vue3.0 + element plus 导致的样式冲突问题

先看一张解决完样式冲突后的样子,上面header是基座,下面是子应用
在这里插入图片描述
再看下没解决之前的样子,下面可以看出基座的input框没了,子应用的时间组件和下拉框组件样式也错乱了

在这里插入图片描述
在这里插入图片描述
产生问题的原因:
由于element-ui 和 element-plus 前缀相同、命名规则相同,但内部部分样式实现方式不同,从而导致样式被污染,页面样式混乱。

解决方法:自定义命名空间
element-plus默认命名空间为el,el会作为其编译后的class名及css前缀。支持自定义命名
在这里插入图片描述
在App.vue中代码为

<div id="app"><el-config-provider namespace="elplus"><router-view /></el-config-provider>
</div>

设置 SCSS 和 CSS 变量
创建 styles/element/index.scss:

@forward 'element-plus/theme-chalk/src/mixins/config.scss' with ($namespace: 'elplus'
);

因为我使用的是 qiankun + vue3.0 + webpack,所以需要在webpack 的 preprocessorOptions 中设置。

import { defineConfig } from 'vite'
// https://vitejs.dev/config/
export default defineConfig({// ...css: {preprocessorOptions: {scss: {additionalData: `@use "~/styles/element/index.scss" as *;`,}}}
})

上面是官网给出的代码一直到SCSS都没问题,但是webpack的配置不对,可能是我用的webpack版本比较高,我用的下面的配置

css: {loaderOptions: {// 给 sass-loader 传递选项scss: {// @/ 是 src/ 的别名// 这些是公共的scss变量和混合方法等additionalData: `@use "./src/assets/styles/index.scss" as *;`}}}

到这里后,还有一点比较坑,我相信很多人也遇到了,就是配置完 依然不起作用,整个样式还乱了
在这里插入图片描述
一步一深坑,答案就在你的main.js里
在这里插入图片描述
一般引入 element-plus 时,我们用的是

import ElementPlus from 'element-plus';
import 'element-plus/dist/index.css'; 

index.css是编译压缩过的,还用这个样式就等于没了,因为我们换了前缀命名,index.css还是默认 el 的

需要改为引入

import 'element-plus/theme-chalk/src/index.scss';

至此样式冲突算是彻底解决了,可以放心的用 vue3.0了

相关文章:

微前端四:qiankun在开发中遇到的问题

在qiankun开发中会遇到很多问题&#xff0c;上一篇微前端三&#xff1a;qiankun 协作开发和上线部署其实也是在解决一些经常遇到的问题&#xff0c;下面的两点也算是比较经典的了 1、子应用图片路径问题 2、基座是Vue2.0 element ui 配合 子应用 Vue3.0 element plus 导致的样…...

Android DisplayPolicy增加一些动作,打开后台接口

Android DisplayPolicy增加一些动作&#xff0c;打开后台接口 前言一、了解android全局滑动事件的拦截二、修改1.DisplayPolicy.java修改 前言 一些后台接口 界面之类的不方便打开&#xff0c;但是测试需要用到&#xff0c;这里就添加一个10秒内上拉6下&#xff0c;打开一个后…...

基于Linux安装Hive

Hive安装包下载地址 Index of /dist/hive 上传解压 [rootmaster opt]# cd /usr/local/ [rootmaster local]# tar -zxvf /opt/apache-hive-3.1.2-bin.tar.gz重命名及更改权限 mv apache-hive-3.1.2-bin hivechown -R hadoop:hadoop hive配置环境变量 #编辑配置 vi /etc/pro…...

FPGA 图像缩放 1G/2.5G Ethernet PCS/PMA or SGMII实现 UDP 网络视频传输,提供工程和QT上位机源码加技术支持

目录 1、前言版本更新说明免责声明 2、相关方案推荐UDP视频传输--无缩放FPGA图像缩放方案我这里已有的以太网方案 3、设计思路框架视频源选择ADV7611 解码芯片配置及采集动态彩条跨时钟FIFO图像缩放模块详解设计框图代码框图2种插值算法的整合与选择 UDP协议栈UDP视频数据组包U…...

重复控制逆变器的仿真分析研究

摘 要 本次设计主要以重复控制逆变器控制系统设计应用作为研究背景&#xff0c;运用MATLAB/Simulink仿真工具搭建相应的仿真模型。重复控制逆变器控制系统拥有很好的动态特性&#xff0c;运行稳定性高、调速的范围较大&#xff0c;性能可靠等&#xff0c;在实际生产制造中被广…...

WuThreat身份安全云-TVD每日漏洞情报-2023-10-18

漏洞名称:致远 OA XML 外部实体注入漏洞 漏洞级别:高危 漏洞编号:NULL 相关涉及:V5/G6 V6.0及以上全系列版本 漏洞状态:POC 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD_IDTVD-2023-26027 漏洞名称:XNSOFT NCONVERT 图像文件缓冲区溢出 漏洞级别:中危 漏洞编号:CVE-…...

开启机器人学新时代,《机器人学建模、规划与控制》完美诠释未来

机器人学是未来发展的热点领域之一&#xff0c;而在这个领域中&#xff0c;建模、规划与控制则是必不可少的基础技术。今天作者要向大家推荐一本机器人学领域的经典教材——《机器人学建模、规划与控制》。 这本书由西安交通大学出版社出版&#xff0c;作者是机器人学专业的鼎…...

C#根据ip获取地理位置信息的方法,史上最全

商业收费 百度地图高德地图腾讯地图纯真IP 开源免费 纯真ip免费版 以前可以直接下载&#xff0c;现在获取ip数据库的方式改变了&#xff0c;自行官网查看把&#xff0c;个人或者学术研究&#xff0c;商用追责&#xff0c;商业用途慎用 using System.Collections.Generic; us…...

Git问题汇总

1.取消全局代理 一般报错Failed to connect to github.com port 443 after 21089 ms: Couldn’t connect to server 取消全局代理&#xff1a; git config --global --unset http.proxygit config --global --unset https.proxy#或者 git config --global http.proxy http://…...

【linux 0.11 学习记录】一、环境配置,用Bochs输出hello world

想学习linux&#xff0c;又不知道从哪里下手&#xff0c;体系太大&#xff0c;哪块内容都很多&#xff0c;无奈下选择了linux0.11作为入口&#xff0c;本系列将是学习笔记&#xff0c;希望能坚持下去吧 环境配置 这里使用win10bochs2.7 安装bochs 官网&#xff1a;https://b…...

【LeetCode75】第七十三题 用最少数量的箭引爆气球

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 本题和上一题基本一样&#xff0c;上一题是要我们尽量让区间不重叠&#xff0c;而本题是要我们尽量让区间重叠。 所以我们的做法和上一题…...

航天科技×辰安科技 打造智慧化工园区安全保障平台

近年来&#xff0c;国内化工园区安全事故频发&#xff0c;多起化工园区重特大事故造成了严重人员财产损失的同时&#xff0c;也重创了行业的整体发展。在智能制造和工业互联网的背景下&#xff0c;建设智慧化工园区&#xff0c;使用智能化手段实现安全生产是解决当前化工园区安…...

6-2 分治法求解金块问题

description 老板有一袋金块&#xff08;共n块&#xff0c;2≤n≤100&#xff09;&#xff0c;两名最优秀的雇员每人可以得到其中的一块&#xff0c;排名第一的得到最重的金块&#xff0c;排名第二的则得到袋子中最轻的金块。 输入一个正整数N&#xff08;2≤N≤100&#xff…...

A062-防火墙安全配置-配置Iptables防火墙策略

实验步骤: 【教学资源类别】 序号 类别 打勾√ 1 学习资源 √ 2 单兵模式赛题资源 3 分组对抗赛题资源 【教学资源名称】 防火墙安全配置-配置安全设置iptables防火墙策略 【教学资源分类】 一级大类 二级大类 打勾√ 1.安全标准 法律法规 行业标准 安全…...

Java包装类

在Java中不能自己定义基本数据类型对象&#xff0c;为了将基本数据类型视为对象进行处理&#xff0c;并能连接相关方法&#xff0c;Java为每个基本数据类型都提供了【包装类】如int型数值的包装类【Integer】,boolean型数值的包装类【Boolean】,这样就可以把这些基本数据类型转…...

常用字符字符串处理函数

isdigit、isalnum、isalpha、islower、issupper都是C/C 语言中判断字符的一些函数&#xff0c;灵活利用在刷题中可以节省我们的一部分时间。下面c统一为char类型字符 1.isdigit 若参数c为十进制数字0~9&#xff0c;则返回非0值&#xff0c;否则返回0。 其中isxdigital判断是…...

【汇编语言特别篇】DOSBox及常用汇编工具的详细安装教程

文章目录 &#x1f4cb;前言一. ⛳️dosbox的介绍、下载和安装1.1 &#x1f514;dosbos简介1.2 &#x1f514;dosbox的下载1.2.1 &#x1f47b;方式一&#xff1a;官网下载(推荐)1.2.2 &#x1f47b;方式二&#xff1a;网盘安装包 1.3 &#x1f514;dosbox的安装1.4 &#x1f5…...

【牛客网刷题(数据结构)】:环形链表的约瑟夫问题

描述 编号为 1 到 n 的 n 个人围成一圈。从编号为 1 的人开始报数&#xff0c;报到 m 的人离开。 下一个人继续从 1 开始报数。 n-1 轮结束以后&#xff0c;只剩下一个人&#xff0c;问最后留下的这个人编号是多少&#xff1f; O(n) 示例1 好环形链表的约瑟夫问题是一个经典的问…...

虾皮印尼买家号如何注册

虾皮&#xff08;Shopee&#xff09;是一个流行的电子商务平台&#xff0c;想要注册虾皮印尼买家号&#xff0c;可以按照以下步骤进行操作&#xff1a; 1、访问虾皮印尼站点&#xff1a;打开浏览器&#xff0c;输入虾皮印尼官网 2、点击"注册"&#xff1a;在网站的…...

SpringBoot WebService服务端客户端使用教程

服务端&#xff1a; 依赖 <!-- webservice相关依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web-services</artifactId></dependency><dependency><groupId&…...

CentOS 7下VNC连接Sentaurus TCAD服务器,从安装到排错的保姆级避坑指南

CentOS 7下高效连接Sentaurus TCAD的工程实践指南 在半导体设计与仿真领域&#xff0c;Sentaurus TCAD作为行业标准工具链&#xff0c;其服务器环境的稳定访问是研发效率的关键保障。对于刚接触Linux服务器环境的工程师或研究人员而言&#xff0c;如何通过VNC实现图形化界面的远…...

别再只会拖控件了!FastReport 实战:手把手教你用代码搞定复杂报表(含分组、过滤、合计)

代码驱动报表革命&#xff1a;FastReport高级开发实战指南 在电商后台系统中&#xff0c;销售报表往往需要处理动态分组、条件过滤和跨页合计等复杂需求。传统拖拽式设计工具虽然入门简单&#xff0c;但面对这类业务场景时常常捉襟见肘。本文将带你突破界面限制&#xff0c;通过…...

告别模型水土不服:用TENT的熵最小化,5分钟搞定测试时域自适应(附PyTorch代码)

实战TENT&#xff1a;5行代码解决模型部署中的“水土不服”问题 想象一下这样的场景&#xff1a;你花费数月训练的自动驾驶视觉模型在实验室测试中准确率高达98%&#xff0c;但当它遇到真实世界的暴雨天气时&#xff0c;识别率瞬间暴跌至60%。这种"实验室王者&#xff0c;…...

避坑指南:ArcGIS提取的DEM高程点,为什么在Global Mapper里显示为平面?

跨平台高程数据互操作&#xff1a;解决ArcGIS与Global Mapper的字段兼容性问题 当你第一次将ArcGIS中精心提取的DEM高程点导入Global Mapper&#xff0c;期待看到起伏的地形时&#xff0c;却发现所有点都平铺在一个平面上——这种挫败感我深有体会。这不是软件故障&#xff0c;…...

物联网平台融资潮解析:从资本流向看行业技术演进与未来格局

1. 项目概述&#xff1a;为什么我们要关注物联网平台的融资潮&#xff1f;最近几年&#xff0c;如果你在科技圈里待着&#xff0c;很难不注意到一个现象&#xff1a;那些做物联网开发平台的公司&#xff0c;动不动就宣布完成了上亿甚至数亿美元的融资。这已经不是个别现象&…...

AI数据标注实战:如何高效、准确地标注训练数据

在AI模型的开发与迭代过程中&#xff0c;数据标注是连接原始数据与智能算法的关键桥梁&#xff0c;其质量与效率直接决定了模型的性能上限。对于软件测试从业者而言&#xff0c;掌握高效、准确的数据标注方法&#xff0c;不仅能为AI模型提供可靠的训练“食粮”&#xff0c;更能…...

国内用户怎么注册.ai域名?2026最新AI域名注册规则+平台推荐

随着人工智能&#xff08;AI&#xff09;行业的持续爆发&#xff0c;越来越多企业在搭建官网时&#xff0c;开始优先选择 .ai域名。 你会发现一个明显变化&#xff1a; &#x1f449; 很多AI工具、AI平台&#xff0c;直接使用“.ai”作为网站后缀 这背后的原因&#xff0c;其…...

翻转电饼铛生产厂家:竞争突围与渠道升级策略解析

翻转电饼铛生产厂家竞争突围与渠道升级策略FAQ&#xff1a;从技术到服务的破局之道"低价内卷走不远&#xff0c;翻转电饼铛生产厂家需靠技术差异化与服务价值突围"——这是食品机械行业从业者的共同感悟。当前市场竞争加剧&#xff0c;厂家面临人工成本高、品控不稳定…...

Windows触控板驱动终极实战:让苹果设备在Windows平台重获新生

Windows触控板驱动终极实战&#xff1a;让苹果设备在Windows平台重获新生 【免费下载链接】mac-precision-touchpad Windows Precision Touchpad Driver Implementation for Apple MacBook / Magic Trackpad 项目地址: https://gitcode.com/gh_mirrors/ma/mac-precision-touc…...

如何构建高效科研知识库:Obsidian文献管理系统的3种创新策略

如何构建高效科研知识库&#xff1a;Obsidian文献管理系统的3种创新策略 【免费下载链接】obsidian_vault_template_for_researcher This is an vault template for researchers using obsidian. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian_vault_template_for_r…...