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 项目,可以按照以下步骤来:
- 引入 sass:math:
// vite.config.ts
// css 预处理
css: {
preprocessorOptions: {
scss: {
additionalData: `@use "sass:math";`
}
}
}
- 把 / 的地方改成
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。