变量是SASS的全局变量而不是SCSS

时间:2016-12-28 14:53:59

标签: css ruby-on-rails sass sass-rails

我的application.css.scss设置如下:

@import "base/variables";
@import "./application/application";

Like the documentation says我没有使用Sprockets'指令(requirerequire_treerequire_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语法?我在这里错过了什么?提前谢谢。

2 个答案:

答案 0 :(得分:1)

我的application/application.scss被一个使用通配符的旧规则预编译(在assets.rb中),我错过了它,它现在正常工作。

答案 1 :(得分:0)

您拥有哪些版本的sprocketsrailssass-rails宝石?围绕未定义的变量有some problems,可能会尝试提升sass-railssprockets(如果可能的话)。