SASS 变量是全局的,但不是 SCSS

Variables are global with SASS but not SCSS

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

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

Like the documentation says 我根本没有使用 Sprockets 的指令(requirerequire_treerequire_self),所以我希望我的变量在 [=17 中定义=] 成为全局变量并可用于我的 /application/application.scss 文件,但事实并非如此:

#content {
  margin-top: $big;
}

请问return错误Undefined variable: "$big".

我已经通过文件 application.css.sass/application/application.sass 的命名尝试了与 SASS 相同的事情,虽然变量现在看起来是全局变量,但我想继续使用SCSS 语法,我已经尝试通过设置 config.sass.preferred_syntax = :scss 但我仍然被要求 Sass.

当然,我可以在每次需要我的变量时只导入我的变量文件,但这违反了 DRY 原则。

是否可以在使我的变量全局可用的同时使用 SCSS 语法?我在这里错过了什么?提前致谢。

你有什么版本的 sprocketsrailssass-rails gem?围绕未定义的变量有 some problems,也许尝试增加 sass-railssprockets(如果可能的话)。

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