5
.class{
  color:#333;
}

.ex-class{
 @extend .class;
}

显示错误:

“.ex-class”未能扩展“.class”
未找到选择器“.class”。 如果扩展应该能够失败,
这将是 Sass 未来版本中的错误使用 "@extend .class !optional"


是什么让我遇到了麻烦,Sass 在我系统上的所有其他 git Repos 上编译得很好,我尝试通过更改 Sass 版本,我的团队成员在这个 Sass 和相同版本上工作正常。

4

2 回答 2

6

@extendSass 3.2.0 ( changelog )中引入了警告:

任何@extend与文档中的任何选择器都不匹配的内容现在都将打印警告。这些警告将在未来版本的 Sass 中成为错误。这将有助于防止拼写错误,并更清楚地说明为什么损坏的样式不起作用。

在 Sass3.3.0中,它停止警告用户,只是抛出一个错误:

@extendSass 现在会在使用无效的时候抛出错误。该!optional标志可用于避免单个@extend.

请注意,@extend在 Sass 历史中已经修复了许多错误(3.1.133.2.5、和) 3.2.6,尤其是在与媒体查询一起使用时。我会建议您和您的团队至少使用 Sass 。3.2.83.2.9v3.3.0

如果您的代码按“原样”编写,则不应出现任何错误/警告。如果您正在使用@import,或者如果该块完全/部分写入媒体查询中,则可能存在问题。

于 2014-10-23T09:23:23.857 回答
0

我有同样的问题:

document [name="variable"]" failed to @extend "%variableSCSS".
The selector "%variableSCSS" was not found.
Use "@extend %variableSCSS !optional" if the extend should be able to fail.
_styles.scss

使用 _styles.scss 中的 @import variableSCSS.scss 解决了问题

_variableSCSS.scss 是包含“%variableSCSS {...}”的文档。因此,请检查您的 @imports 是否在您正在使用的类上正确调用。

于 2021-02-18T08:32:29.943 回答