如何在 angular 7 中使用 SCSS mixins

Yul*_*ale 6 css mixins angular scss-mixins

我在我的 angular 项目中遇到了这个错误。

@include for-desktop-up {.... “没有名为 for-desktop-up 的 mixin”

我在styles.scss 中的代码是

@mixin for-desktop-up {
    @media (min-width: 1024px) { @content; }
}
Run Code Online (Sandbox Code Playgroud)

我在组件样式表中的代码是

@include for-desktop-up {
    //some scss code
}
Run Code Online (Sandbox Code Playgroud)

我做错了什么或发生了什么?

dot*_*pro 5

将 component.ts 中的文件导入为

styleUrls: ['./styles.scss']
Run Code Online (Sandbox Code Playgroud)

或者

使用 SASS/SCSS 导入在 component.scss 中导入

@import "styles.scss";
Run Code Online (Sandbox Code Playgroud)

  • 为了澄清,通常我们如何做到这一点以避免膨胀是不要编写任何导入后将被写出的 sass 代码,即。实际的 CSS,在导入/共享文件中。只包含 sass mixin、函数,即。导入/共享文件中的逻辑代码。如果您只包含这些,您可以根据需要多次导入它们,并将任何 css 打印到构建中。如果包含实际的 css,它会将多余的 css 添加到输出包中。如果 mixin 或函数中有“真正的 css”,那就没问题了——不会被重复。 (3认同)
  • 不,如果您导入 **required** 代码,它不会膨胀:) (2认同)