Как заставить Compass смотреть несколько папок одновременно?
Я использую Compass + Sass для управления/объединения файлов .css
. Поэтому у меня есть следующая структура папок:
Root
--Module
----css
----sass
--Module
----css
----sass
--Module
----css
----sass
И вот что я хотел бы достичь: во время фазы разработки я хотел бы указать компас в свою корневую папку, и он должен следить за любыми изменениями в файлах, расположенных в каталогах sass
(в каждом Module
). После изменения одного из файлов .sass - необходимо создать файл .css
(для модуля, измененного .sass
), и вставить в папку css
под тем же Module
.
Возможно ли это?
Мое предположение, я должен использовать config.rb
для этой цели, но я не уверен, как это сделать правильно. Может ли кто-нибудь указать мне на решение или просто описать общее представление о том, как это сделать?
EDIT: я нахожусь в среде Windows, поэтому не могу использовать команды Linux (я могу установить Cygwin, но я бы предпочел избежать этого)
Спасибо
Ответы
Ответ 1
Единственным обходным решением, которое я нашел, является запуск нескольких экземпляров Compass - по одному на модуль. Я уверен, что может быть более элегантное решение, настроив исходный код Compass, но, к сожалению, я еще не знаком с Ruby...
Ответ 2
У меня есть настройка структуры папки по-разному:
- активы
- пререкаться
- модули
- _module1.scss
- _module2.scss
- _module3.scss
- screen.scss
- таблицы стилей
- config.rb
screen.scss:
@import "modules/module1";
@import "modules/module2";
@import "modules/module3";
config.rb:
...
css_dir = "stylesheets"
sass_dir = "sass"
...
Символы подчеркивания в начале имен модулей означают, что они не будут скомпилированы в отдельные файлы css. Операторы импорта объединяют их так, что все css заканчиваются вместе в screen.css. Обратите внимание, что в операторах импорта вам не нужны символы подчеркивания или .scss.
Вы можете немного изменить эту структуру, если хотите сохранить отдельные файлы css (это то, что вы предлагали сделать). Удалите символы подчеркивания, а компас создаст отдельные файлы.
- активы
- пререкаться
- модули
- module1.scss
- module2.scss
- module3.scss
- screen.scss
- таблицы стилей
- модули
- module1.css
- module2.css
- module3.css
- screen.css
- config.rb
В этом случае вам не нужны какие-либо операторы импорта в screen.scss, так как каждый отдельный файл должен быть включен отдельно в html-документ.
В обоих этих сценариях вы запускаете "компас-часы" один раз в папке с ресурсами. Обратите внимание, что вам не нужно ничего создавать в каталоге stylesheets. Компас сделает это.
Ответ 3
Используйте additional_import_paths
или более простой add_import_path
в файле config.rb.
additional_import_paths
Array of Strings Другие пути в вашей системе, из которых можно импортировать sass файлы.
add_import_path
Вызовите эту функцию, чтобы добавить путь к списку путей импорта sass для вашего проекта компаса. Например: add_import_path "/Users/chris/work/shared_sass"
См. этот ответ с примерами использования add_import_path
Источник:
http://compass-style.org/help/documentation/configuration-reference/
Ответ 4
скомпилируйте и просмотрите несколько независимых проектов Sass Compass: fooobar.com/info/480240/...