SASS警告:The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.

13,129 阅读1分钟

最近electron-vite项目中使用sass1.80.4版本,运行时一直发出警告,大致意思是旧的JS API已弃用,并将在Dart Sass 2.0.0中删除。

1. 官网sass-lang.com/d/legacy-js… 也给出了原因和解决发法

微信截图_20241030092141.png

翻译一下:虽然旧的JS API在Dart Sass 1.45.0中被标记为已弃用,但随着新API的发布,我们从Dart Sass 1.79.0开始发出使用它的警告。如果你还不能迁移到现代API,但现在想要沉默警告,你可以在silenceDeprecations选项中传递legacy-js-api:

const sass = require('sass');

const result = sass.renderSync({
  silenceDeprecations: ['legacy-js-api'],
  ...
});

这将暂时消除警告,但遗留API将在Dart Sass 2.0.0中完全删除,因此您仍然应该计划尽快迁移它。

2. 最终解决方案:在electron.vite.config.ts中添加配置

export default defineConfig({
   renderer: {
    css: {
      preprocessorOptions: {
        scss: {
          silenceDeprecations: ['legacy-js-api']
        }
      }
    }
 })

这样警告就消除了。