【Less】全局样式重复注入问题

news2024/11/16 19:00:53
// package.json
{
	"less": "^4.1.3",
	"vite": "^3.1.0",
}

参考:

  1. [less/sass]如何避免因公共模块导致生成重复css代码
  2. 解决 Vue CSS 样式重复载入,为 Vue 添加全局 less 或 sass 基础样式库【不是本篇解决方法,但值得mark一下】
  3. Vite中预处理器(如less)的配置
  4. 手写 css-modules 来深入理解它的原理
  5. CSS:CSS Modules
  6. 阮一峰 - CSS Modules 用法教程
  7. Vite 文档 - CSS Modules
  8. Less 文档 - Import Options

开发项目途中,发现一些样式被重复注入

在这里插入图片描述

然后分别点击所在style,发现都是 xxx.module.less 文件出现这种重复注入的情况(CSS Modules)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

经过查阅文章和文档,得知,在 @import less 文件的时候,需要加 (reference) 关键字:

  • 修改之前(因为重复的样式是我在 vite.config.js 配置引入的全局样式
    import { defineConfig } from 'vite'
    export default defineConfig({
    	css: {
    		preprocessorOptions: {
    			less: {
    				javascriptEnabled: true,
    				// 因为没加 (reference) 关键字,所以导致加载 xxx.module.less 时重复注入
    				additionalData: `
    					@import "@/styles/variables.less";
    					@import '@/styles/global.less';
    				`
    			}
    		}
    	}
    })
    
  • 修改之后(误)
    后话:引入变量即可,reference 也可不需要,而 global.less 全局类名样式则在 main.js 引入。除非你不写 xxx.module.less (Css Modules)可以这样引入,否则就会出现样式重复注入的情况
    import { defineConfig } from 'vite'
    export default defineConfig({
    	css: {
    		preprocessorOptions: {
    			less: {
    				javascriptEnabled: true,
    				additionalData: `
    					@import (reference) "@/styles/variables.less";
    					@import (reference) '@/styles/global.less';
    				`
    			}
    		}
    	}
    })
    

结果

在这里插入图片描述
。。。然而这样做导致 global.less 所有类名不生效(因为根本就没被引入),所以最好的做法是,只有当全局变量时,才进行配置引入,而像是 global.less 这样的全局样式,则直接在 main.js 引入即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/192777.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3学习笔记之router(router4 + ts)

文章目录Vue Router1. 基本使用router-view2. 路由跳转2.1 router-link2.2 编程式导航2.3 replace3. 路由传参4. 嵌套路由5. 命令视图6. 重定向和别名6.1 重定向6.2 别名7. 路由守卫7.1 全局前置守卫7.2 全局后置守卫案例:加载滚动条8. 路由元信息9. 路由过渡动效10…

瞧不上alert 老古董?使用alert实现一个精美的弹窗

曾几何时alert陪伴了我很多歌日日夜夜,但现在人们越来越追求高端的技术,其实慢慢的我也都快淡忘了前端的世界里还有alert这么一个伟大的成员。 目录 一、为什么抛弃了alert? 1. 不同浏览器的表现 2. 第三方组件的使用 3. 代码意识的控制 二、用al…

2023年浏览器哪个好用速度快,看这一篇就够了

在网络覆盖的社会,不管走到哪里,都能上网浏览新闻、看热点资讯。浏览器是用户上网浏览的必要软件之一,它决定这用户浏览网页的速度和习惯。那么,2023年什么浏览器好用稳定速度快?目前优秀的浏览器有很多,但…

HDFS常用命令汇总

HDFS常用命令汇总一、前言信息二、帮助信息查看1、查看帮助信息2、帮助文档(附带命令的详细说明)三、常用命令1、创建目录2、查看目录下的内容3、上传文件4、上传并删除源文件5、查看文件内容6、查看文件开头内容7、查看文件末尾内容8、下载文件9、合并下…

ceph中报错“ clock skew detected on mon.ceph2, mon.ceph3”

自己搭建的ceph集群,显示时间不同步:clock skew detected on mon.ceph2, mon.ceph3但是查看chrony进程已经启动,ceph配置文件中,如下参数也已经配置,查看chrony.conf配置文件发现,同步源没有修改过,默认的于是修改ceph…

面试官的几句话,差点让我挂在HTTPS上

面试官的几句话,差点让我挂在HTTPS上 目录:导读 一、HTTP 协议 二、HTTPS 协议 三、使用 HTTP 协议还是 HTTPS 协议呢? 四、HTTP 协议和 HTTPS 协议的区别 作为软件测试,大家都知道一些常用的网络协议是我们必须要了解和掌握…

MySQL jdbc 反序列化分析

0x01 前言听师傅们说这条链子用的比较广泛,所以最近学一学,本来是想配合着 tabby 或是 codeql 一起看的,但是 tabby 的环境搭建一直有问题,耽误了很久时间,所以就直接看了0x02 JDBC 的基础• 本来不太想写这点基础的&a…

敏捷与DevOps的区别,知异同,发准力

​图片来自Robert Martin《敏捷整洁之道》。敏捷DevOps生命之环,由内到外,第一圈:Kent Beck,第二圈:Uncle Bob,第三圈:Mike Cohn。三圈由内到外分别是:编程、工程(大致对…

STM32读取24位模数转换(24bit ADC)芯片TM7711数据

STM32读取24位模数转换(24bit ADC)芯片TM7711数据 TM7711是一款国产低成本24位ADC芯片,常用于与称重传感器配合实现体重计的应用。这里介绍STM32读取TM7711的电路和代码实现。TM7711与HX710A是兼容的芯片,而与HX711在功能上有所不…

B+树的概念

与分块查找和B树类似。 一棵m阶的B树需满足如下条件: 每个分支结点最多有m棵子树非叶子结点的根结点至少有两棵子树,其他结点至少有⌈m/2⌉\lceil m/2\rceil⌈m/2⌉棵子树结点的子树个数与关键字个数相等关键字全部存储在叶子结点中。所有指向对应记录的指针也存储…

LeetCode刷题---链表经典问题(双指针)

文章目录一、编程题:206. 反转链表(双指针-头插法)解题思路1.思路2.复杂度分析:3.算法图解代码实现二、编程题:203. 移除链表元素解题思路1.思路2.复杂度分析:3.算法图解代码实现三、编程题:328…

嵌入式开发:为什么物联网正在吞噬嵌入式操作系统?

在过去几年的嵌入式开发中,独立嵌入式软件市场的两大基石已被物联网公司完全吞噬。第一个FreeRTOS被亚马逊吞并,以支持其亚马逊Web服务(AWS)云平台的物联网开发,Express Logic被微软吞并,用于其竞争对手Azure云服务。许多分析师对…

【图像处理OpenCV(C++版)】——4.4 对比度增强之伽马变换

前言: 😊😊😊欢迎来到本博客😊😊😊 🌟🌟🌟 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义,适用于平时学习、工作快…

解析某音X-Bogus参数

文章目录写在前面目标正向梳理主要加密函数主要算法解析逆向梳理结论测试进阶写在后面写在前面 本文主要介绍从X-Bogus还原19位数组的过程,方便理解算法。 目标 // 从 var x_bogus DFSzswVVUyXANrqJSkdAml9WX7jG; // 还原出 var x_array [64, 0.00390625, 1, 2…

Dubbo 入门系列之快速部署一个微服务应用

本文将基于 Dubbo Samples 示例演示如何快速搭建并部署一个微服务应用。 背景 Dubbo 作为一款微服务框架,最重要的是向用户提供跨进程的 RPC 远程调用能力。如上图所示,Dubbo 的服务消费者(Consumer)通过一系列的工作将请求发送给…

FatFs文件系统(只针对SPI-Flash)总结

作用 当我们利用SPI操作Flash时往往读写的都是一段连续的扇区,而FatFs文件系统可以将我们要写入的数据拆分成不连续的扇区见缝插针写入,类似与链表一块扇区指向下一块扇区,不需要物理逻辑地址连续也可以读取整个文件。 这是为啥嘞&#xff…

从零开始部署“生产级别”的主从模式Mysql

从零开始部署“生产级别”的主从模式Mysql 1. 撰写的缘由 Mysql 在日常应用中使用范围非常广泛,它的部署,其实一个docker run 就可以搞定了,但是这种单个standalone模式下,非常不具备高可用性。 测试环境和开发可以随便用&…

集团审计BI项目的特点

审计到底做哪些事情呢?如果之前大家没有接触的话,试着想一下,可能都会想到审计工作做的应该是跟监督有关的事情。实际上,现代审计职责不仅仅只是监督,还要兼顾到服务,具有监督和服务的双重属性。 什么是审…

stm32学习笔记-2 软件安装及创建工程

2 软件安装及创建工程 [toc] 注:笔记主要参考B站 江科大自化协 教学视频“STM32入门教程-2023持续更新中”。 注:工程及代码文件放在了本人的Github仓库。 2.1 软件安装 软件安装的步骤有: 安装Keil5 MDK。Keil5 MDK专门用于给ARM系列单片…

网络安全规划实践

在企业IT战略规划方面,很多时候我们会自动忽略网络安全规划,一是不够重视,从公司到技术部门,对网络安全的认识有限,重视不够,不愿意花钱。 二是技术部门自身原因,不愿意多花成本和精力去规划&am…