Scss/Sass 项目里使用 / 报错:Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.。指的是不能直接使用 / 来进行相除,已经在 Sass 2.0.0 版本被弃用。

可以降低版本,但可能会失去一些好用的特性,不推荐????。如果你是 Vite 项目,可以按照以下步骤来:

  1. 引入 sass:math:
// vite.config.ts

// css 预处理
css: {
  preprocessorOptions: {
    scss: {
      additionalData: `@use "sass:math";`
    }
  }
}
  1. 把 / 的地方改成 math.div(1, 1)
.example {
  top: $show-top + $i * math.div(($close-end - $show-top), 10);
}

也可以使用 calc 来代替 math.div/ 斜杠。网上也有说安装 sass-migrator 对 node_modules 进行配置的,我已经试验过了,没有任何效果。这是 Sass 官方对该问题的解释:Breaking Change: Slash as Division