2016-10-12 4 views
1

В настоящее время я работаю на крупном бизнес-сайте, используя Compass (Bootstrap Fork). Мы используем много разных scss-файлов, в том числе base.scss, где живут наши переменные и mixins. Теперь мы хотим скомпилировать некоторые необязательные файлы css из наших scss-файлов, которые получают переменные из файлов base.scss во время компиляции, но не будут иметь накладных расходов на все другие правила, определенные в базе, включенной в готовый и скомпилированный css-файл. Так что, в основном, я ищу способ ссылки на базовый файл, а не на его включение. Я просто хочу, чтобы $ companyColor (и т. Д.) Был заменен значением соответствующей переменной в базовом файле.SASS/Compass: Reference Вместо того, чтобы включать

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

Возможно ли это?

Заранее благодарен!

ответ

2

Не уверен, что я полностью понял, что вы просили.

Но если вы хотите, чтобы некоторые переменные из base.scss должны быть включены в другие SCSS файлы, вы можете разделить ваши base.scss в два файла:

  • shared-vars.scss, содержащие переменные, которые будут включены в дополнительных SCSS файлов
  • base.scss все остальные с указанной переменные и Примеси, и импорт shared-vars.scss

Теперь вы можете импортировать base.scss в основных SCSS файлов и импортировать только shared-vars.scss в ваших дополнительных SCSS файлов

+0

Я всегда любил практику сохранения всех переменных в их собственном файле, отдельные формы любой Примеси. – Dre

+0

Да, вы правильно поняли. Я не надеялся на этот ответ, но уже ожидал этого. Это был своего рода подход на последнем месте, так как я надеялся, что для этого будет проще (как в «Я не буду делать утомительную копию/вставку»). Но я думаю, мне придется это сделать ... (Думаю, что мой ученик сделает это, на самом деле ... ;-)) Спасибо в любом случае за ваше время! – armin

+0

@ Dre, я согласен. Но в некоторых случаях вы не можете иметь только одну переменную.scss. @armin использовать это * время копирования/вставки *, чтобы также создать mixins.scss со всеми микшинами, это всегда лучше для обслуживания. И не забудьте принять мой ответ ';)' – Finrod

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