【问题标题】:Sass compiler throws 'undefined mixin' error when mixins are kept in seperate folder [closed]当 mixin 保存在单独的文件夹中时,Sass 编译器会抛出“未定义的 mixin”错误 [关闭]
【发布时间】:2015-06-17 22:18:27
【问题描述】:

这是我网站结构的截图。

在我的 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;
}

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

在我的 _button.scss 文件中,我将 mixin 包含在下面

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

}

究竟是什么问题。我想将我所有的 mixin 保存在一个单独的文件中以保持结构整洁。

【问题讨论】:

  • Sass 不会无缘无故抛出这个错误,也不是因为 mixin “在单独的文件夹中”。
  • 请注意:始终在使用 mixins 之前声明它们,以避免出现“未定义的 mixins”错误。因此,请确保在声明 mixin 之后而不是在此之前使用 include。

标签: sass mixins


【解决方案1】:

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

http://sass-lang.com/documentation/file.SASS_REFERENCE.html#including_a_mixin

【讨论】:

  • 当我将 mixin 包含在同一个文件中时,它运行良好.. 但是当 mixin 位于单独模块文件夹中的单独 _mixin.scss 文件中时,即使使用“ @include”声明。为什么会这样?
  • $project-path: absolute-path("..");查看是否设置了项目路径,以便指南针正常工作
猜你喜欢
  • 2020-09-16
  • 1970-01-01
  • 2020-08-15
  • 2016-04-27
  • 2021-10-29
  • 2022-11-03
  • 2019-04-29
  • 1970-01-01
  • 2014-11-17
相关资源
最近更新 更多