它是一个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不起作用?
答案 0 :(得分:0)
这可能对您的错误没有多大帮助,但是从the guides它说:
在此示例中使用了require_self。这包含了CSS 在require_self的精确位置的文件(如果有)内 呼叫。如果多次调用require_self,则只调用最后一次 推崇。
在这个答案中也讨论了它:What does require_self mean?