使用sass中的新模块系统(使用@use而不是@import(,如何在一个文件中定义一个类,并在另一个@extend文件中使用它?
文件颜色.scss
.element {
background-color: blue;
}
主文件
@use "./colors.scss" as colors;
body {
@extend .element;
}
这将给出以下错误:
"body"未能@extend".element"。 找不到选择器 ".element"。 如果扩展应该能够失败,请使用"@extend .element !optional"。
例: https://stackblitz.com/edit/angular-tufq7f?file=src%2Fstyles.scss
我怎样才能告诉sass从colors.scss获取它?
事实证明,这里有几个不同的问题。首先是 stacblitz 示例使用的是旧版本的 sass witch 没有模块支持。另一个是没有办法从女巫 sass 模块指定扩展 css 类。正确的解决方案是我在问题中写的:
@extend .element;
以下方法有效吗?
@use "./colors.scss" as colors;
body {
@extend colors.element;
}
(模块作为命名空间导入,因此您必须按名称"使用"模块"( https://sass-lang.com/documentation/at-rules/use#choosing-a-namespace