我的application.css.scss
设置如下:
@import "base/variables";
@import "./application/application";
Like the documentation says我没有使用Sprockets'指令(require
,require_tree
和require_self
),所以我希望我在base/_variables.scss
内定义的变量是全局变量,可用于我的/application/application.scss
文件但是事实并非如此:
#content {
margin-top: $big;
}
将返回错误Undefined variable: "$big"
。
我通过命名文件application.css.sass
和/application/application.sass
尝试了与SASS相同的事情,而变量现在似乎是全局的,我想继续使用SCSS语法,我通过设置config.sass.preferred_syntax = :scss
来尝试,但我还是被要求使用Sass。
当然我每次需要变量时都可以导入变量文件,但这会违反DRY原则。
在使我的变量全局可用时,是否可以使用SCSS语法?我在这里错过了什么?提前谢谢。
答案 0 :(得分:1)
我的application/application.scss
被一个使用通配符的旧规则预编译(在assets.rb
中),我错过了它,它现在正常工作。
答案 1 :(得分:0)
您拥有哪些版本的sprockets
,rails
和sass-rails
宝石?围绕未定义的变量有some problems,可能会尝试提升sass-rails
和sprockets
(如果可能的话)。