最近使用的 sass 突然出现了下面的警告,看着很不舒服。
Deprecation [legacy-js-api]: 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-api
点进去我们发现,sass 有一个重大更改。
意思是:Dart Sass 最初使用的 API 基于 Node Sass 使用的 API,但是 在 Dart Sass 1.45.0 中,它被一个新的现代 API 所取代。遗留的 JS API 现已弃用,并将在 Dart Sass 2.0.0 中删除。
他下面也给了解决办法:
虽然旧版 JS API 在 Dart Sass 1.45.0 中被标记为已弃用,但现代 API 发布后,我们开始在 Dart Sass 1.79.0 中发出使用它的警告。
这将暂时消除警告,但旧版 API 将在 Dart Sass 2.0.0 中被完全删除,因此您仍然应该计划尽快从它迁移出去。
然鹅!!!
试了之后,发现并没有什么卵用,require() 导出模块报错。(应该是我还没领悟他这个配置方法的真谛!)
但是关键配置项他已经给出来了,我们可以在配置文件中加上去。
vite.config.ts
export default defineConfig({
plugins: [vue(), vueJsx()],
css: {
preprocessorOptions: {
scss: {
// api: "modern-compiler", // Element Plus 中的解决办法
silenceDeprecations: ['legacy-js-api']
},
},
}
});
于是乎,没了。