Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.

css yekong

数据大屏项目开发中,突然有个警告

Deprecation Warning: The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.

这个警告说的是 Sass 中一个即将发生的重大变更。具体来说:

  1. 这个警告是关于 Sass 中使用 / 进行除法运算的方式即将被废弃。

  2. 在 Dart Sass 2.0.0 版本中,使用 / 进行除法运算的旧语法将被完全移除。

  3. 目前,Sass 在某些情况下将 / 视为除法运算符,在其他情况下视为分隔符。这种双重用途导致了一些混淆。

  4. 为了与 CSS 语法保持一致,Sass 决定将 / 重新定义为仅作为分隔符使用。

  5. 对于除法运算,Sass 建议使用新的 math.div() 函数来替代。

  6. 例如,将 $width / 2 改为 math.div($width, 2)

  7. 或者在 calc() 函数内使用 /,如 calc($width / 2)

  8. 这个变更旨在消除歧义,并使 Sass 更好地支持使用 / 作为分隔符的新 CSS 特性。

  9. 目前这只是一个警告,但在 Dart Sass 2.0.0 中将成为错误。

所以,这个警告是提醒开发者需要更新他们的 Sass 代码,以适应即将到来的语法变更。建议尽早修改代码,以确保与未来版本的兼容性。

vue3 vite移除sass警告

import {defineConfig} from 'vite';
import vue from '@vitejs/plugin-vue';
import {link} from "./src/config/config.js";

export default ({mode}) => {
    return defineConfig({
        plugins: [
            vue(),
        ],
        server: {
            port: 7202   // 新的端口号
        },

        base: link,
        resolve: {
            alias: {
                '@': '/src',
                // 其他别名
            },
        },
        css: {
            preprocessorOptions: {
                scss: {
                    api: "modern", // 使用新版API
                    silenceDeprecations: ['legacy-js-api'], // 临时消除警告
                    sassOptions: {
                        outputStyle: 'compressed'
                    }
                }
            }
        }
    });
}
喜欢