Я хотел бы сохранить один центральный файл .scss, в котором хранятся все определения переменных SASS для проекта.
// _master.scss
$accent: #6D87A7;
$error: #811702;
$warning: #F9E055;
$valid: #038144;
// etc...
Проект будет иметь большое количество CSS-файлов, из-за его природы. Важно, чтобы я объявил все переменные стиля проекта в одном месте.
Есть ли способ сделать это в SCSS?
Ответы:
Вы можете сделать это так:
У меня есть папка с именем утилиты и внутри нее у меня есть файл с именем _variables.scss
в этом файле я объявляю переменные так:
тогда у меня есть файл style.scss, в который я импортирую все мои другие файлы scss, как это:
затем в любом из импортированных мной файлов я смогу получить доступ к объявленным мной переменным.
Просто убедитесь, что вы импортируете файл переменной, прежде чем любой другой, в котором вы хотели бы использовать его.
источник
$black: #000 !default;
.!default
Штучка предотвращает переменную из сбрасывается , если он уже существует.Этот ответ показывает, как я в конечном итоге воспользовался этим и какими дополнительными ловушками я столкнулся.
Я сделал основной файл SCSS. Этот файл должен иметь подчеркивание в начале, чтобы импортировать его:
Затем в заголовке всех других моих файлов .SCSS я импортирую мастер:
ВАЖНЫЙ
Не включайте ничего, кроме переменных, объявлений функций и других функций SASS в ваш
_master.scss
файл. Если вы включите фактический CSS, он будет дублировать этот CSS во всех файлах, в которые вы импортируете мастер.источник
Этот вопрос задавался очень давно, поэтому я решил опубликовать обновленный ответ.
Теперь вы должны избегать использования
@import
. Взято из документов:Полный список причин можно найти здесь
Вы должны теперь использовать
@use
как показано ниже:_variables.scss
_otherFile.scss
Вы также можете создать псевдоним для пространства имен:
_otherFile.scss
источник
Создайте index.scss и там вы сможете импортировать всю имеющуюся у вас структуру файла. Я вставлю вам свой индекс из корпоративного проекта, может быть, он поможет другим, как структурировать файлы в CSS:
И вы можете смотреть их с gulp / grunt / webpack и т. Д., Например:
gulpfile.js
// Задача SASS
источник
Как насчет записи некоторого цветового класса в глобальный файл sass, поэтому нам не нужно заботиться о том, где находятся переменные. Так же, как следующее:
и тогда мы можем использовать
background-color
класс в любом файле. Я хочуvariable.scss
сказать, что мне не нужно импортировать файлы, просто используйте их.источник