微前端:qiankun框架在开发中遇到的问题
基座是Vue3.0 + element plus配合 子应用 Vue2.0 + element ui导致的样式冲突问题
element-plus默认命名空间为el,el会作为其编译后的class名及css前缀。支持 自定义命名空间
首先在App.vue中定义:namespace="ep";具体代码如下:
<template>
<el-config-provider namespace="ep">
<RouterView />
</el-config-provider>
</template>
其次设置 SCSS 和 CSS 变量,创建 /src/assets/styles/element/index.scss, index.scss具体内容如下:
@forward 'element-plus/theme-chalk/src/mixins/config.scss' with (
$namespace: 'ep'
);
因为我使用的是 qiankun + vue3.0 + webpack,所以需要在webpack 的 preprocessorOptions 中设置。找到vite.config.js文件,
preprocessorOptions 中设置 additionalData: `@use "@/assets/styles/element/index.scss" as *;`,
具体修改内容如下:
css: {
preprocessorOptions: {
scss: {
// 全局注入变量/混合宏(路径需根据项目调整)
// additionalData: `@import "@/styles/variables.scss";`,
additionalData: `@use "@/assets/styles/element/index.scss" as *;`,
// 解决旧版 API 警告(Sass 版本兼容)
api: 'modern-compiler',
},
},
到这里后,还有一点比较坑,我相信很多人也遇到了,就是配置完 依然不起作用,样式还是乱的,一步一深坑,跟着官方文档也得踩。其实答案就在你的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';
main.js文件修改如下:
//import 'element-plus/dist/index.css'
import 'element-plus/theme-chalk/src/index.scss';
然后重新启动项目就,前人踩坑后人乘凉..........
微前端:qiankun框架在开发中遇到的问题的更多相关文章
- 基于微前端qiankun的多页签缓存方案实践
作者:vivo 互联网前端团队- Tang Xiao 本文梳理了基于阿里开源微前端框架qiankun,实现多页签及子应用缓存的方案,同时还类比了多个不同方案之间的区别及优劣势,为使用微前端进行多页签开 ...
- loushang框架的开发中关于BSP的使用,将写好的功能模块部署到主页界面结构上
前言: 当我们已经开发好相应的模块或者功能的时候,需要将这个功能部署在index主页上作为可点击直接使用的模块,而不是每次需要去浏览对应的url地址. 这时候就需要运用到L5的BSP. 作为刚刚入门l ...
- 收集前端UI框架 持续更新中....
1. elementUI 饿了么出品 基于Vue2 http://element.eleme.io/#/zh-CN 2. ZUI 开源HTML5跨屏框架 (2018年1月4日更新)一个基于 Boot ...
- 前端工程化-webpack-cli(官方开发中。。。)
- 极致简洁的微前端框架-京东MicroApp开源了
前言 MicroApp是一款基于类WebComponent进行渲染的微前端框架,不同于目前流行的开源框架,它从组件化的思维实现微前端,旨在降低上手难度.提升工作效率.它是目前市面上接入微前端成本最低的 ...
- 微前端大赏二-singlespa实践
微前端大赏二-singlespa实践 微前端大赏二-singlespa实践 序 介绍singleSpa singleSpa核心逻辑 搭建环境 vue main react child 生命周期 结论 ...
- vue-qiankun公司微前端项稳定目落地后的总结(附github仓库demo,将会持续更新)
️本文为博客园社区首发文章,未获授权禁止转载 大家好,我是aehyok,一个住在深圳城市的佛系码农♀️,如果你喜欢我的文章,可以通过点赞帮我聚集灵力️. 个人github仓库地址: https:gi ...
- 推荐几个精致的web UI框架及常用前端UI框架
1.Aliceui Aliceui是支付宝的样式解决方案,是一套精选的基于 spm 生态圈的样式模块集合,是 Arale 的子集,也是一套模块化的样式命名和组织规范,是写 CSS 的更好方式. git ...
- 很受欢迎的vue前端UI框架
最近在逛各大网站,论坛,SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,小编自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在做自己 ...
- 2018年九个很受欢迎的vue前端UI框架
最近在逛各大网站,论坛,SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,小编自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在做自己 ...
随机推荐
- Longest Substring Without Repeating Characters---LeetCode进阶路③
题目描述 Given a string, find the length of the longest substring without repeating characters. Example ...
- 假设有一个 1G 大的 HashMap,此时用户请求过来刚好触发它的扩容,会怎样?
简要回答 如果刚好触发扩容,那么当前用户请求会被阻塞,因为 HashMap的底层是基于数组+链表(红黑树)来实现的,一旦它发生扩容,就需要新增一个比之前大2倍的数组,然后将元素copy到新的数组上 而 ...
- C#实现MCP Client 与 LLM 连接,抓取网页内容功能!
前面的课程,我们已经用C#实现了,自己的MCP Client. 下面我们一起来实现,MCP Client与LLM 对接. 一.添加依赖库 目前来说,绝大部分的大模型的API,都是遵循OpenAI的接口 ...
- Python实现ws订阅服务
一.Python实现ws订阅服务 # 使用websocket订阅欧易公共频道中的 行情频道,以下是已知信息,写出Python代码 # 地址:"wss://wspap.okx.com:8443 ...
- 怒更一波TransDuck免费的声音克隆和AI配音功能
宝子们! 最近咱软件TransDuck的免费声音克隆和AI配音功能被大家用爆啦!感谢各位自来水疯狂安利!! DD这里也是收到好多用户提的宝贵建议!所以,连夜肝了波更新! 这次重点更新使用克隆音色进行A ...
- k8s gpu共享
k8s gpu 共享方案 1.配置环境变量实现 通过在POD的启动文件中,配置NVIDIA_VISIBLE_DEVICES的环境变量,指定显卡号.NVIDIA_VISIBLE_DEVICES可配置为具 ...
- 使用 SpringBoot 集成 WebService [不需要身份验证]
一.使用 JDK 自带的工具生成实体类 # 格式 wsimport -s 保存路径 -p 包路径 -encoding utf-8 wsdl文件地址 # 实例 wsimport -s d:\wsdl - ...
- Map集合-主要HashMap和Hashtable
JAVA8除了给Map集合新增了方法remove(Object key,Object value)默认方法外 还增加了以下方法 Object replace(Object key,Object val ...
- WinForm 的ComBox下拉框自动提示、自动补全功能
https://blog.csdn.net/qiqingli/article/details/88992029 winformTextBox 下拉框自动提示.自动补全功能AutoCompleteCus ...
- C# Avalonia 03 - LayoutPanels - SimpleInkCanvas
这次继承C# Avalonia官方自带的Canvas,扩展一个InkCanvas,兼容Canvas的所有功能.为了简化自定义命名控件,建议把自定义控件加入到默认空间. AssemblyInfo.cs代 ...