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

项目升级Sass版本或升级Element Plus版本遇到的问题

项目升级Sass版本或升级Element Plus版本遇到的问题

如果项目有需求需要用到高版本的Element Plus组件,则需要升级相对应的sass版本,Element 文档中有提示,2.8.5及以后得版本,sass最低支持的版本为1.79.0,所升级sass、sass-loader。Sass在1.80版本以上有语法发生了变化,接下来跟大家聊一下在升级升级Element Plus版本时,同时需要升级Sass版本遇到的问题。

升级Element Plus

直接在项目中运行命令:

pnpm install element-plus@latest

升级Sass

直接在项目中运行命令:

pnpm install sass@latest sass-loader@latest

升级完成后运行项目,发现控制台出现了错误:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/48b6213feefa42ebace9aea4a53eb074.png
这是因为升级sass版本后API发生了变化,解决方案:
1.在项目的 vite.config.ts 文件中的修改 css->preprocessorOptions->scss 的配置项

css: {
  // CSS 预处理器
  preprocessorOptions: {
    // 定义全局 SCSS 变量
    scss: {
      javascriptEnabled: true,
      additionalData: `@use "@/styles/variables.scss" as *;`,
      api: "modern-compiler" // 改变api方式
    },
  },
},

2.如果配置了还会出现再加上 silenceDeprecations 配置项

css: {
  // CSS 预处理器
  preprocessorOptions: {
    // 定义全局 SCSS 变量
    scss: {
      javascriptEnabled: true,
      additionalData: `@use "@/styles/variables.scss" as *;`,
      api: "modern-compiler", // 改变api方式
      silenceDeprecations: ['legacy-js-api']
    },
  },
},

重新运行项目,发现刚刚的报错已经消失。但是出现了新的错误:
在这里插入图片描述
这是因为升级sass版本语法改变,解决方案:
全局搜索以前使用 @import 引入的代码,改为使用 @use 引入

@import"./reset";    ->   @use "./reset";
@import"./common";   ->   @use "./common";
@import"./sidebar";  ->   @use "./sidebar";

再次运行项目,刚刚报错已经不见。但是,又报了全局变量未定义的错误:
在这里插入图片描述
通过网上搜索,发现基本都是说要在 vite.config.ts 文件中的修改 css->preprocessorOptions->scss->additionalData 的配置项,指向你自己定义的文件路径,可是我刚刚已经配置过了,却还是不行,这就很奇怪了
在这里插入图片描述
又只能继续搜索,通过不断的搜索和尝试,最终发现:只要在报错的文件顶部加上全局变量即可,比如我是在sidebar.scss文件中报错的,那么我找到sidebar.scss文件在顶部添加全局变量即可

注意:后面务必加上 as *

在这里插入图片描述
最后在运行项目,成功运行也不报错了!

参考文章:
遇到升级新版sass(1.80以上)的相关配置问题
升级Element Plus版本,如何解决报错以及需要修改哪些配置


http://www.kler.cn/a/520061.html

相关文章:

  • 嵌入式基础 -- PCIe 控制器中断管理之MSI与MSI-X简介
  • 向量和矩阵算法笔记
  • 生信软件管家——conda vs pip
  • 深入剖析 Adam 优化器:原理、优势与应用
  • 双足机器人开源项目
  • 人格分裂(交互问答)-小白想懂Elasticsearch
  • 天聚地合:引领API数据流通服务,助力数字经济发展
  • Axial Transformer笔记
  • 人工智能在医疗领域的应用与挑战
  • 基于dlib/face recognition人脸识别推拉流实现
  • 评估篇| 大模型评测综述
  • 裁员避坑指南(9)
  • wxwidgets直接获取系统图标,效果类似QFileIconProvider
  • 【测试】UI自动化测试
  • pyhton学习笔记(三)
  • 相同的树及延伸题型(C语言详解版)
  • 机器学习-线性回归(对于f(x;w)=w^Tx+b理解)
  • 几种常见的求特殊方程正整数解的方法和示例
  • 第28章 测试驱动开发模式:深入绿条模式及相关技术
  • C++17 命名空间的新特性:简化与优化的典范
  • 详解三种常用标准化:Batch Norm、Layer Norm和RMSNorm
  • centos7执行yum操作时报错Could not retrieve mirrorlist http://mirrorlist.centos.org解决
  • 使用 Redis List 和 Pub/Sub 实现简单的消息队列
  • 代码随想录训练营第五十八天| 拓扑排序精讲 dijkstra(朴素版)精讲
  • Vue3 provide/inject用法总结
  • 解锁.NET Standard库:从0到1的创建与打包秘籍