Переменные являются глобальными с SASS, но не SCSS
У меня есть мой application.css.scss
установить так:
@import "base/variables";
@import "./application/application";
Как в документации сказано, что я не использую директивы Sprockets (require
, require_tree
, а также require_self
) вообще, поэтому я ожидаю, что мои переменные определены внутри base/_variables.scss
быть глобальными и доступными для моего /application/application.scss
файл, но это не тот случай:
#content {
margin-top: $big;
}
Вернет ошибку Undefined variable: "$big"
,
Я пробовал то же самое с SASS, называя файлы application.css.sass
а также /application/application.sass
и хотя переменные теперь, кажется, являются глобальными, я бы хотел продолжать использовать синтаксис SCSS, я попробовал это, установив config.sass.preferred_syntax = :scss
но меня все еще просят о Сассе.
Конечно, я мог бы просто импортировать файл переменных каждый раз, когда мне нужны переменные, но это противоречило бы принципу СУХОЙ.
Можно ли использовать синтаксис SCSS, делая мои переменные глобально доступными? Что мне здесь не хватает? Заранее спасибо.
2 ответа
Мой application/application.scss
был предварительно скомпилирован (в assets.rb
) по старому правилу с использованием подстановочного знака, который я пропустил, теперь он работает правильно.
Какие версии sprockets
, rails
а также sass-rails
драгоценные камни у вас есть? Были некоторые проблемы с неопределенными переменными, может быть, попытаться увеличить sass-rails
а также sprockets
(если возможно).