我正在尝试引用另一个文件(home.css.scss)中定义的mixin(home.css.scss)。我已经尝试将应用程序导入到家中但仍然出现“Undefined mixin”错误。
有没有办法自动导入我的所有文件,或者管理文件之间导入的最佳方法是什么?
答案 0 :(得分:25)
我还没能跳到3.1,但使用Compass& Sass已经有一段时间了,我发现最好尝试与你的实际CSS生成sass分开管理mixin / definition sass。通过这种方式,mixin文件可以像代码库一样自由处理,包含在必要的地方,而不会重复生成CSS规则。
所以你可能有:
/* my-mixin-concern.scss */
$default_foo: 123px !default;
@mixin some-concern($foo: $default_foo) {
// do something
}
/* application.scss */
$default_foo: 321px; // optionally, pre-set the default value before import.
@import 'my-mixin-concern';
p { @include some-concern; }
/* home.scss */
@import 'my-mixin-concern';
body.home p { @include some-concern(9000px); }
通过这种方式,您可以显式导入每个scss文件的所有需求,类似于在代码库中执行此操作的方式。
答案 1 :(得分:0)
Pure Rails解决方案
第1步。重命名
application.css -> application.css.scss
第2步。重构
// application.css.scss
/*
*= require_self
*/
@import "mixins.css.csss"
@import "project.css.scss"