element-plus sass兼容问题(Deprecation Warning: As of Dart Sass 2.0.0)

461 阅读1分钟

Deprecation Warning: As of Dart Sass 2.0.0, !global assignments won't be able to declare new variables. image.png

一番调研

image.png

 pnpm i sass@1.79.3

之后发现,比之前好点了,但是还是会有警告,不过没有报错了。

image.png

github.com/element-plu…

image.png

css: {
    preprocessorOptions: {
      scss: {
        silenceDeprecations: ['legacy-js-api'],
      },
    },
  },

image.png

警告和报错的原因: 这些警告是由于 Dart Sass 版本升级后出现的弃用警告,主要有两个方面的问题: 1.全局内置 mix 函数弃用: Dart Sass 建议用 color.mix 替代 mix 函数,以避免弃用问题。Element Plus 的主题文件 var.scss 中使用了 mix,在未来的 Dart Sass 3.0.0 中可能会不兼容。 2.全局变量声明的弃用: Sass 即将不再允许使用 !global 在局部作用域中声明新变量。 解决方法是声明变量 B在全局作用域中初始化(例如B 在全局作用域中初始化(例如 B: null;),然后在局部作用域中更新它