当前位置: 首页 > 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

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

从零构建卡牌游戏引擎:事件驱动架构与数据驱动设计实践

1. 项目概述:从零构建一个卡牌构筑游戏引擎最近在GitHub上看到一个挺有意思的项目,叫guladam/deck_builder_tutorial。光看名字,很多开发者,尤其是对游戏开发感兴趣的朋友,可能立刻就能会心一笑。没错,这正…...

基于Three.js与WebSocket构建虚拟小镇:全栈技术架构与优化实践

1. 项目概述与核心价值最近在折腾一个叫“Alicization-Town”的开源项目,它来自GitHub上的ceresOPA组织。乍一看这个名字,可能会联想到某个动漫或者游戏里的场景,但实际接触后,我发现它远不止于此。这是一个围绕“虚拟小镇”或“数…...

别再手动配置时钟树了!用STM32CubeMX 6.10 + Keil MDK 5分钟搞定LED闪烁工程

5分钟极速开发:STM32CubeMX图形化工具颠覆传统嵌入式开发模式 第一次接触STM32开发时,面对密密麻麻的寄存器手册和复杂的时钟树配置,我花了整整三天才让一个LED灯闪烁起来。直到发现STM32CubeMX这个神器——它彻底改变了嵌入式开发的入门门槛…...

3步搞定!MoviePilot智能批量重命名让你的媒体库整齐划一

3步搞定!MoviePilot智能批量重命名让你的媒体库整齐划一 【免费下载链接】MoviePilot NAS媒体库自动化管理工具 项目地址: https://gitcode.com/gh_mirrors/mo/MoviePilot 还在为杂乱的媒体文件名头疼吗?"The.Matrix.1999.1080p.BluRay.x264…...

轨道交通条形屏电源技术分析:超薄化与高可靠性的工程平衡

一、行业背景与技术挑战在智慧城轨建设中,地铁站内条形屏是乘客信息显示系统的核心终端设备。该应用场景对配套电源提出以下技术要求:技术需求具体指标工程挑战超薄化整机厚度3-8mm传统变压器/散热器高度难以压缩高可靠性MTBF≥50000小时轨道交通振动、温…...

硬件预取技术:Alecto框架优化与性能提升

1. 硬件预取技术基础与挑战在现代处理器架构中,内存墙(Memory Wall)问题一直是制约性能提升的关键瓶颈。随着CPU与DRAM之间的速度差距不断拉大,硬件预取技术已成为缓解这一问题的核心手段。传统预取器通过分析程序的内存访问模式&…...

AI短剧拉片应用软件2026推荐,助力高效内容分析

AI短剧拉片应用软件2026推荐,助力高效内容分析在当今的娱乐市场中,AI短剧凭借其紧凑的剧情、便捷的观看方式,受到了广大观众的喜爱。据艾瑞咨询《2026 年中国短剧行业发展报告》显示,2026 年 AI 短剧市场规模持续增长,…...

ARM SCTLR2_EL2寄存器解析与虚拟化安全控制

1. ARM SCTLR2_EL2寄存器架构解析SCTLR2_EL2是ARMv8/v9架构中EL2(Hypervisor)级别的扩展系统控制寄存器,作为标准SCTLR_EL2的补充,它通过掩码位机制实现了对关键系统功能的细粒度控制。这个64位寄存器主要包含两类功能字段&#x…...

Dell R630服务器RAID实战:8块硬盘如何混搭RAID1和RAID0?保姆级图文教程

Dell R630服务器混合RAID配置实战:系统盘与数据盘的黄金分割方案 在企业级IT基础设施中,存储配置的灵活性与可靠性往往决定着整个系统的稳定边界。当一台Dell PowerEdge R630服务器配备8块硬盘时,如何通过RAID技术的组合拳实现系统安全与数据…...

命令行控制中心:提升开发效率的聚合与自动化工具

1. 项目概述:一个面向开发者的命令行控制中心最近在GitHub上看到一个挺有意思的项目,叫jendrypto/command-center。光看名字,你可能会联想到科幻电影里那种布满屏幕、控制一切的舰桥。但在开发者的世界里,它其实是一个更接地气、更…...