【问题标题】:Sass mixin defined at vendor/assets/stylesheets/external.scss file not getting found by Rails 4Rails 4 未找到在 vendor/assets/stylesheets/external.scss 文件中定义的 Sass mixin
【发布时间】:2013-10-28 07:19:47
【问题描述】:

它是一个 Rails 4 项目。 在文件app/assets/stylesheets/application.css.scss 中,我已经

/*
 *= require_self
 */
@mixin row() {
  color: blue;
}

body {
  h1 {
    @include row;
  }
}

启动服务器并在浏览器中查看工作正常。

现在我将那个 mixin 放入文件 vendor/assets/stylesheets/external.scss

@mixin row() {
  color: blue;
}

并在application.css.scss 中要求如下:

/*
 *= require external
 *= require_self
 */

body {
  h1 {
     @include row;
  }
}

然后刷新浏览器,它会出错

Sass::SyntaxError 
Undefined mixin 'row'.

为什么外部文件中定义的mixin不起作用??

【问题讨论】:

    标签: sass ruby-on-rails-4


    【解决方案1】:

    这可能对您的错误没有太大帮助,但来自the guides 它说:

    在本例中使用了 require_self。这使得包含的 CSS 在文件(如果有的话)中 require_self 的精确位置 称呼。如果 require_self 被多次调用,只有最后一次调用 尊重。

    这个答案也有讨论:What does require_self mean?

    【讨论】:

    • 绝对对我面临的错误没有帮助。想要解决问题的解决方案。我还尝试删除 require_self 行并添加单独的文件并手动要求它。
    • 您是否尝试重命名文件?也许还有另一个以相同方式命名的资源?
    • 您要重命名的文件是什么?
    • external 文件。这个名字很笼统,所以可能有一些其他文件隐藏了这个。
    • 不,我不这么认为。因为在重命名为external之前是landing,我是故意重命名的,仅作为示例。
    猜你喜欢
    • 1970-01-01
    • 2022-11-03
    • 2017-10-04
    • 1970-01-01
    • 2022-06-22
    • 2014-11-17
    • 2016-09-21
    • 1970-01-01
    • 2020-09-16
    相关资源
    最近更新 更多