Скомпилировать файл scss во время выполнения? - PullRequest
0 голосов
/ 01 марта 2012

Я занимаюсь разработкой приложения rails, которое становится довольно большим и компилирует весь scss после того, как каждое изменение занимает больше времени, чем я хочу.

Я подумал, что если есть способ динамически скомпилировать файл scss только для части сайта, которую я создаю, это будет намного быстрее.И я могу получить скомпилированный результат в виде строки и вывести на голову.

Есть ли способ сделать это?Такие как:

<head>
    <style type="text/css">
    <%= compile_scss('new_page.scss') %>
    </style>
</head>

Ответы [ 2 ]

0 голосов
/ 01 марта 2012

В настоящее время я отключаю прекомпиляцию и использую @import в моих основных файлах CSS, в качестве примера папки таблиц стилей и файлов внутри.

-stylesheets
--page1.css.scss
--page2.css.scss
--_stuff-for-page1.scss
--_stuff-for-page2.scss

page1.css.scss:

@import "stuff-for-page1";

page2.css.scss:

@import "stuff-for-page2";

Тогда в вашем макете вы можете просто позвонить

= stylesheet_link_tag "page1"

или

= stylesheet_link_tag "page2"
0 голосов
/ 01 марта 2012

Вы можете просматривать каталог, содержащий файлы sass, и компилировать их всякий раз, когда они изменяются.

sass --watch scss:stylesheets

Но такая штука сработает, только если у вас отключен конвейер активов. В Rails 3.1 и далее сборка sass выполняется как часть обработки ресурсов, которая происходит при каждом запросе в режиме разработки.

...