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

【已解决】element-plus配置主题色后,sass兼容问题。set-color-mix-level() is...in Dart Sass 3

项目:vue3+vite

  "scripts": {"dev": "vite","build": "vite build","preview": "vite preview"},"dependencies": {"@element-plus/icons-vue": "^2.3.1","animate.css": "^4.1.1","axios": "^1.7.7","element-plus": "^2.8.6","pinia": "^2.2.4","pinia-plugin-persistedstate": "^4.1.2","sass": "^1.80.6","swiper": "^11.1.14","vite-plugin-vue-devtools": "^7.5.4","vue": "^3.5.10","vue-i18n": "^10.0.0","vue-router": "^4.4.5"}

按照官方配置后,本地启动服务 npm run dev 和构建 npm run build,都会出现警告和报错

https://element-plus.org/zh-CN/guide/theming.html
在这里插入图片描述
src\styles\element\index.scss
在这里插入图片描述
vite.config.js

....
import ElementPlus from "unplugin-element-plus/vite";
...
export default function ({ mode }) {.return defineConfig({plugins: [
...ElementPlus({useSource: true,}),...],css: {preprocessorOptions: {scss: {additionalData: `@use "@/styles/theme.scss" as *;@use "@/styles/element/index.scss" as *;`,},},},...});
}

警告信息
除了警告,还有报错
在这里插入图片描述

> npm run dev> ...
> viteVITE v5.4.9  ready in 523 ms➜  Local:   http://localhost:3000/➜  Network: http://192.168.18.119:3000/➜  press h + enter to show help
Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.More info: https://sass-lang.com/d/legacy-js-apiDeprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.More info: https://sass-lang.com/d/legacy-js-apiDeprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.More info: https://sass-lang.com/d/legacy-js-apiDeprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.More info: https://sass-lang.com/d/legacy-js-apiDeprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.More info: https://sass-lang.com/d/legacy-js-apiDeprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.More info: https://sass-lang.com/d/legacy-js-api10:36:25 [vite] Pre-transform error: [sass] Can't find stylesheet to import.╷
1 │ @use "~/styles/element/index.scss" as *;@use 'mixins/mixins' as *;│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^╵node_modules\element-plus\theme-chalk\src\message.scss 1:1  root stylesheet
10:36:25 [vite] Pre-transform error: [sass] Can't find stylesheet to import.╷
1 │ @use "~/styles/element/index.scss" as *;@use 'sass:map';│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^╵node_modules\element-plus\theme-chalk\src\message-box.scss 1:1  root stylesheet
10:36:25 [vite] Pre-transform error: [sass] Can't find stylesheet to import.

解决方案:
官方公告!!!
https://github.com/element-plus/element-plus/issues/15834

将 sass版本变更为 1.79.0

npm i sass@1.79.3

之后发现,比之前好点了,但是还是会有警告,不过没有报错了。
在这里插入图片描述
继续解决警告问题!
https://github.com/element-plus/element-plus/issues/18732
在这里插入图片描述
解决!不警告和报错了!
在这里插入图片描述

总结:

警告和报错的原因:

这些警告是由于 Dart Sass 版本升级后出现的弃用警告,主要有两个方面的问题:

全局内置 mix 函数弃用: Dart Sass 建议用 color.mix 替代 mix 函数,以避免弃用问题。Element Plus 的主题文件 var.scss 中使用了 mix,在未来的 Dart Sass 3.0.0 中可能会不兼容。

全局变量声明的弃用: Sass 即将不再允许使用 !global 在局部作用域中声明新变量。解决方法是声明变量 $B 在全局作用域中初始化(例如 $B: null;),然后在局部作用域中更新它。

Deprecation Warning: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use color.mix instead.More info and automated migrator: https://sass-lang.com/d/import╷
63 │ ┌           mix(
64 │ │             $mix-color,
65 │ │             map.get($colors, $type, 'base'),
66 │ │             math.percentage(math.div($number, 10))
67 │ │           ),│ └───────────^╵node_modules\element-plus\theme-chalk\src\common\var.scss 63:11  set-color-mix-level()node_modules\element-plus\theme-chalk\src\common\var.scss 87:5   @forwardsrc\styles\element\index.scss 3:1                                @usenode_modules\element-plus\theme-chalk\src\base.scss 3:11         root stylesheet
旧版Sass API的警告:

提示正在使用旧的JS API,建议升级到最新版本的Dart Sass以兼容新的API。

Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.More info: https://sass-lang.com/d/legacy-js-apiDeprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.More info: https://sass-lang.com/d/legacy-js-apiDeprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.

解决方案

  1. 将 sass版本变更为 1.79.0
npm i sass@1.79.3

2.vite.config.js
添加配置:
silenceDeprecations:[‘legacy-js-api’]

    css: {preprocessorOptions: {scss: {additionalData: `@use "@/styles/theme.scss" as *;@use "@/styles/element/index.scss" as *;`,silenceDeprecations:['legacy-js-api']},},},

相关文章:

【已解决】element-plus配置主题色后,sass兼容问题。set-color-mix-level() is...in Dart Sass 3

项目:vue3vite "scripts": {"dev": "vite","build": "vite build","preview": "vite preview"},"dependencies": {"element-plus/icons-vue": "^2.3.1",&quo…...

JavaWeb——Web入门(4/9)-HTTP协议:请求协议(请求行、请求头、请求体、演示 )

目录 请求协议概述 请求行 请求头 请求体 演示 GET POST 请求协议概述 介绍完了 HTTP 协议的概念以及特点之后,接下来介绍 HTTP 当中的请求协议。 请求协议指的就是请求数据的格式。 HTTP 请求协议在整个 Web 通信中起着至关重要的作用。当用户在浏览器…...

软考:数据库考点总结

结构冲突 在数据库领域,冲突主要指的是在并发操作中,多个事务试图同时访问或修改相同的数据资源,导致数据一致性、完整性和隔离性受到威胁。以下是数据库中常见的几种冲突类型: 读写冲突(Read-Write Conflict&#xf…...

Flash的语音ic型号有哪些?

深圳唯创知音电子有限公司在语音技术领域具有深厚的积累,其Flash语音IC产品凭借高性能和广泛的应用领域,在市场上占据了一席之地。以下是对该公司Flash语音IC产品的详细介绍: 一、产品概述 Flash语音IC是一种采用Flash存储技术的语音芯片&…...

10天进阶webpack---(1)为什么要有webpack

首先就是我们的代码是运行在浏览器上的,但是我们开发大多都是利用node进行开发的,在浏览器中并没有node提供的那些环境。这就早成了运行和开发上的不同步问题。 -----引言 浏览器模块化的问题: 效率问题:精细的模块划分带来了更…...

HTML CSS

目录 1. 什么是HTML 2. 什么是CSS ? 3. 基础标签 & 样式 3.1 新浪新闻-标题实现 3.1.1 标题排版 3.1.1.1 分析 3.1.1.2 标签 3.1.1.3 实现 3.1.2 标题样式 3.1.2.1 CSS引入方式 3.1.2.2 颜色表示 3.1.2.3 标题字体颜色 3.1.2.4 CSS选择器 3.1.2.5 发布时间字…...

第03章 MySQL的简单使用命令

一、MySQL的登录 1.1 服务的启动与停止 MySQL安装完毕之后,需要启动服务器进程,不然客户端无法连接数据库。 在前面的配置过程中,已经将MySQL安装为Windows服务,并且勾选当Windows启动、停止时,MySQL也 自动启动、停止…...

【C++动态规划】2435. 矩阵中和能被 K 整除的路径|1951

本文涉及知识点 C动态规划 LeetCode2435. 矩阵中和能被 K 整除的路径 给你一个下标从 0 开始的 m x n 整数矩阵 grid 和一个整数 k 。你从起点 (0, 0) 出发,每一步只能往 下 或者往 右 ,你想要到达终点 (m - 1, n - 1) 。 请你返回路径和能被 k 整除的…...

三、Kafka集群

一、Kafka集群的概念 1、目的 高并发、高可用、动态扩展。 主备数据架构、双活节点、灾备数据中心。 如果是服务的地理范围过大也可以使不同的集群节点服务不同的区域,降低网络延迟。 2、Kafka集群的基本概念 1)复制(镜像) kaf…...

[数据结构]堆

堆,本质是一颗完全二叉树。属于非线性结构。 代码实现可参考树的代码。 函数介绍: //此堆是小堆,大堆操作部分与小堆相反 void InitHeap(Heap* cat) {assert(cat);cat->arr NULL;cat->capacity cat->size 0; } void DestroyHeap(Heap* cat) {assert(…...

UDP-鼠李糖合成酶基因的克隆与鉴定-文献精读76

何首乌中UDP-鼠李糖合成酶基因FmRHM1/2的克隆与鉴定 摘要 UDP-鼠李糖是一种由UDP-鼠李糖合酶(RHM)催化合成的鼠李糖供体,而鼠李糖是鼠李糖苷化合物的重要组成部分,植物中只有少数基因编码的酶参与UDP-鼠李糖生物合成。本研究基于…...

【H2O2|全栈】JS进阶知识(四)Ajax

目录 前言 开篇语 准备工作 基本概念 原生JS使用AJAX 创建AJAX对象 设置请求方式和地址 设置请求头 发送请求 get方式发送 post方式发送 获取响应数据 AJAX状态码和HTTP状态消息 错误捕获 原生JS封装AJAX方法 $ 调用AJAX方法 结束语 前言 开篇语 本系列博客…...

Spring IOC的工作流程

Spring IOC的工作流程 好的,这个问题我会从几个方面来回答。 IOC是什么 Bean的声明方式 IOC的工作流程 IOC的全称是 Inversion Of Control,也就是控制反转,它的核心思想是把对象的管理权限交给容器。(展示图 1) &…...

从新手到专家:7款电脑平面设计软件评测

平面设计在时尚、广告等多个领域扮演着重要角色,而创作出独特且富有创意的设计作品则需要依赖优秀的电脑平面设计软件。市场上的电脑平面设计软件众多,每款软件都有其独到之处。本文将为你推荐几款值得关注的电脑平面设计软件,并分析它们的特…...

【C++】如何让C++字符串更快、C++的小字符串优化

二十三、如何让C字符串更快、C的小字符串优化 1、如何让C字符串更快? 如果程序中有很多字符串操作,比如格式化文本(日志记录),那是非常糟糕的,因为字符串操作是很慢的。字符串string和它相关的很多函数很可能会自动分配内存&…...

C++《list》

在本篇当中我们将学习STL中的list,在此list就是我们之前在数据结构学习过的链表,在本篇中我们要来了解list当中的成员函数该如何使用,由于list各个函数的接口和之前学习过的vector类型,因此在学习list的使用就较为轻松。在lis篇章…...

strongswan中METHOD定义

strongswan中使用METHOD来定义函数(方法),如下get_first函数定义。 METHOD(linked_list_t, get_first, status_t,private_linked_list_t *this, void **item) {if (this->count 0)return NOT_FOUND;*item this->first->value;ret…...

Rive 动画框架竟然支持响应式布局,全平台动画框架开启全新 UI 交互能力

没用过 Rive 的可能对于 Rive 还不熟悉,其实之前已经介绍过 Rive 好几次,例如《Rive 2 动画库「完全商业化」》 和《给掘金 Logo 快速添加动画效果》 等文章都介绍过 Rive ,之所以会接触 Rive 到, 也是因为多年前想在 Flutter 平台…...

MQ的详细大全知识点

MQ(Message Queue)是一种在分布式系统中广泛应用的消息中间件,它基于“先进先出”的数据结构原理,用于在不同系统之间传递消息。MQ通过提供接口给各个系统调用,实现了发送者和接收者之间的解耦,使得系统之间…...

AI图像相似性搜索对比:VIT, CLIP, DINO-v2, BLIP-2

图像相似性搜索的核心在于一个简单的想法:图像可以表示为高维空间中的向量。当两个图像相似时,它们的向量应该在这个空间中占据相似的位置。我们可以通过测量角度(或余弦相似度)来确定这些向量的相似程度。如果角度小,…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

【2025年】解决Burpsuite抓不到https包的问题

环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...

AD学习(3)

1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分: (1)PCB焊盘:表层的铜 ,top层的铜 (2)管脚序号:用来关联原理图中的管脚的序号,原理图的序号需要和PCB封装一一…...

stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)

这是系统中断服务程序的默认处理汇编函数,如果我们没有定义实现某个中断函数,那么当stm32产生了该中断时,就会默认跑这里来了,所以我们打开了什么中断,一定要记得实现对应的系统中断函数,否则会进来一直循环…...

Axure零基础跟我学:展开与收回

亲爱的小伙伴,如有帮助请订阅专栏!跟着老师每课一练,系统学习Axure交互设计课程! Axure产品经理精品视频课https://edu.csdn.net/course/detail/40420 课程主题:Axure菜单展开与收回 课程视频:...