在运行时编译scss文件?

时间:2012-03-01 02:16:09

标签: ruby-on-rails asset-pipeline sass

我正在开发一个相对较大的rails应用程序,并且在每次更改都需要比我想要的更长时间后编译整个scss。

我想如果有一种方法可以动态编译scss文件,只是因为我正在构建的网站部分会更快。我可以将编译结果作为字符串输出到头部。

有办法吗?如:

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

2 个答案:

答案 0 :(得分:0)

您可以观看包含sass文件的目录,并在它们发生更改时进行编译。

sass --watch scss:stylesheets

但是这种事情只有在禁用资产管道的情况下才有效。 Rails 3.1及以后版本,sass编译是作为资产处理的一部分完成的,它在开发模式下的每个请求中都会发生。

答案 1 :(得分:0)

目前我所做的是关闭预编译,并在我的主要css文件中使用@import,一个示例样式表文件夹和里面的文件。

-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"