当混入文件保存在单独的文件夹中时,Sass编译器会引发“未定义的混入”错误

Ari*_*awn 5 sass mixins

这是我的网站结构的屏幕截图。 项目结构的屏幕截图

在我的mixins文件中,我创建了所有必需的sass mixins。

我为边界半径创建了这个mixin:

 @mixin border-radius($radius) {
  -webkit-border-radius: $radius;
     -moz-border-radius: $radius;
      -ms-border-radius: $radius;
       -o-border-radius: $radius;
          border-radius: $radius;
}
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试将其用于modules文件夹中_button.scss中的按钮类时,出现未定义的变量错误。而当我在_button.scss文件本身中使用相同的mixin时,不会出现任何错误。

在我的_button.scss文件中,我包含了mixin,如下所示

button{
    background-color: $theme-color;
    border: 0px solid;
    padding: 0.7rem 3rem;
    @include border-radius(2rem);

}
Run Code Online (Sandbox Code Playgroud)

到底是什么问题。我想将所有mixins放在一个单独的文件中,以保持结构整洁。

Bri*_*all 11

你必须使用 @include 或 @import 包含 mixin

https://sass-lang.com/documentation/at-rules/mixin

  • 当我将 mixin 包含在同一个文件中时,它工作得很好..但是当 mixin 位于单独模块文件夹中的单独 _mixin.scss 文件中时,即使在使用“@include”语句后它也不起作用。为什么这样? (3认同)
  • 该链接显示页面未找到 (3认同)

小智 10

广告as *行尾

例子:

@use  './mix' as *;
Run Code Online (Sandbox Code Playgroud)

  • 通过额外的支持信息可以改进您的答案。请[编辑]添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以[在帮助中心](/help/how-to-answer)找到有关如何写出好的答案的更多信息。 (3认同)

小智 6

只是回答,因为我由于不同的原因得到了相同的错误。

我的解决方案是重新订购我的进口产品。事实证明我引用的是一个尚未导入的 mixin。检查并确保在导入 mixin 之前没有使用 mixin。