2014-09-08 4 views
2

Итак, у меня есть эта необычная ситуация, возможно, это не Sassy way или правильный путь, и именно поэтому я спрашиваю об этом.Основной файл SASS для нескольких файлов CSS

У меня есть main.scss, который в основном импортирует все остальные частичные и фреймворки, которые говорят bootstrap. Он отлично работает, если мне нужен только один глобальный CSS, но мне нужны разные файлы css для различных компонентов и страниц. Один из вариантов мог заключаться в том, чтобы включать переменные и mixins в каждый SASS-файл и скомпилировать различные файлы SASS. Ниже приводятся причины, по которым я не рискнул этим путем.

  1. Это как-то не кажется правильным, может быть, существует много эффективного и автоматизированного способа.
  2. Не все кодировано мной, или у меня могут не быть параметров для размещения переменных и мест размещения миксинов. Например. переменные и mixins не объявляются в отдельных файлах, и у меня может не быть возможности перефактора.

Один из вариантов, который я использую, заключается в разделении окончательного скомпилированного css с использованием grunt и размещения их в разных папках, но смена изображений и пути шрифта оказывается большой проблемой. Я не уверен, как использовать imgmin или такие утилиты, чтобы решить мою проблему, ни то, что я использую наиболее эффективный способ достижения того, что я хочу. Я также хочу избежать многих осложнений в рабочем процессе.

Ищите советы или подсказки, которые могут мне помочь.

+0

похоже, что ваш рабочий процесс очень неправильный, вам не нужно менять поведение sass, но ваш рабочий процесс. – pankijs

ответ

0

Я не уверен, почему вы сказали бы, что скомпилировать несколько файлов SASS не представляется правильным. Вот как я подхожу к нему.

Если у вас много переменных и микшинов, поместите общие в один файл.

_shared.scsc:

$blue: #3b97c6; 
$grey: #e6e6e6; 

@mixin my_mixin { 
    // ... 
} 

Тогда просто ваши несколько файлов Sass (без подчеркивания, чтобы они компилируются по отдельности).

sass1.scss

@import "_shared"; 

// stuff only for sass-1 

sass2.scss

@import "_shared"; 

// stuff only for sass-2 

sass3.scss

@import "_shared"; 

// stuff only for sass-3 

ли я неправильно что-то?

+0

Привет @manishie, мой комментарий «Не очень хорошо» был не для компиляции нескольких файлов SASS, а для необходимости вручную импортировать переменные/mixins в каждом SASS-файле. Объединение всех переменных в один файл невозможно в моем случае. – fusionstrings

Смежные вопросы