重大变更:以 – 开头的函数和混入
在 Dart Sass 1.76.0 之前,函数和混入名称可以是任何有效的 CSS 标识符,但以 --
开头的标识符现在已 弃用。
通常,Sass 允许将任何有效的 CSS 标识符用于任何 Sass 定义。这包括以 --
开头的标识符,用户在 CSS 自定义属性 的上下文中可能最熟悉它们。但是,CSS 工作组正在 认真考虑 向 CSS 本身添加内置支持以用于函数和混入,可能使用名为 @mixin
和 @function
的 at-规则,就像 Sass 一样。
这意味着 Sass 为了保持其 CSS 兼容性的核心设计原则,同时仍然支持 Sass 的构建时函数和混入,需要能够区分使用相同 at-规则名称的 CSS 和 Sass 声明。幸运的是,尽管 CSS 用于函数和混入的语法的细节仍在很大程度上悬而未决,但有一点似乎没有争议:使用以 --
开头的类似自定义属性的标识符作为 CSS 混入和函数 名称。
这将允许 Sass 将纯 CSS 函数和混入识别为以 --
开头的那些函数和混入。但是,为了使这能够正常工作,我们首先必须禁止 Sass 函数和混入使用该 前缀。
过渡期过渡期永久链接
- Dart Sass
- 自 1.76.0 起
- LibSass
- ✗
- Ruby Sass
- ✗
在 Dart Sass 1.76.0 和 Dart Sass 2.0.0 之间,Dart Sass 将继续允许名称以 --
开头的函数和混入。但是,它会发出名为 css-function-mixin
的弃用警告。
在 Dart Sass 2.0.0 和 Dart Sass 支持纯 CSS 函数和混入的版本发布之间,函数和混入将不允许具有以 --
开头的名称。
我可以消除警告吗?我可以消除警告吗? 永久链接
Sass 提供了一套强大的选项来管理您何时以及 看到哪些弃用警告。
简洁模式和详细模式简洁模式和详细模式 永久链接
默认情况下,Sass 以简洁模式运行,在这种模式下,它只会打印每种类型的弃用警告五次,然后就会停止打印其他警告。这有助于确保用户在需要了解即将发生的重大更改时知道,而不会产生过多的控制台 噪音。
如果您改为以详细模式运行 Sass,它将打印遇到的每个弃用警告。这对于跟踪修复弃用时需要完成的工作非常有用。您可以使用命令行上的 --verbose
标志 或 JavaScript API 中的 verbose
选项 启用详细模式。
⚠️ 注意!
从 JS API 运行时,Sass 不会在编译之间共享任何信息,因此默认情况下,它会为编译的每个样式表打印五个警告。但是,您可以通过编写(或要求您最喜欢的框架的 Sass 插件的作者编写)一个 自定义 Logger
来解决此问题,该 Logger
每个弃用只打印五个错误,并且可以在多个 编译中共享。
消除依赖项中的弃用警告消除依赖项中的弃用警告 永久链接
有时,您的依赖项会发出您无法处理的弃用警告。您可以使用命令行上的 --quiet-deps
标志 或 JavaScript API 中的 quietDeps
选项 消除依赖项中的弃用警告,同时仍为您的应用打印这些警告。
对于此标志的目的,“依赖项”是指任何不仅仅是从入口点样式表中进行一系列相对加载的样式表。这意味着来自加载路径的任何内容,以及大多数通过自定义 导入器加载的样式表。
消除特定弃用警告消除特定弃用警告 永久链接
如果您知道某个特定的弃用警告对您来说不是问题,则可以使用命令行上的 --silence-deprecation
标志 或 JavaScript API 中的 silenceDeprecations
选项 消除该特定弃用警告的警告。