5

我在 assets/stylesheets 目录中设置了一组 [object].css.scss 样式,以与我的应用程序中的不同视图相对应。每个工作表的第一行都包含一组全局样式变量值:

@import "branding.css.scss";

然后在需要时访问整个库中的变量值($primaryColor、$secondaryColor 等)。

它非常干燥,但不幸的是,当我更改 _branding.css.scss 文件中的变量值时,Rails 不会刷新对象样式表。在 SCSS 使用更新的变量值重新编译对象样式库之前,我必须去触摸每个文件。

这是一个小问题,但它会破坏工作流程,尤其是当我不断清除浏览器缓存试图修复它时:/

有没有更好的方法来组织变量?

有没有办法强制刷新?

4

2 回答 2

3

我一直在将变量和 mixins 放入一个includes.css.scss文件中,并将它们导入到每个需要它们的样式表中。要在包含文件更改时重新编译 Rails,您需要使用depend_onapplication.js 中的指令。例如:

应用程序.css

/*
   *= depend_on includes
   *= require_self
   *= require stylesheet
*/

包括.css.scss

$bg-color: #999;

样式表.css.scss

@import "includes.css.scss";

body { background: $bg-color; }
于 2011-09-01T14:51:47.390 回答
1

这确实很烦人……

我没有完整的解决方案,但我发现的一件事是您需要做的就是触摸“application.css.scss”以使其重新编译所有内容。

我最近开始使用guard-compass 和guard-livereload,但是在3.1 中也有同样的问题。也许比我聪明的人可以修复它,使其也触及“application.css.scss”?

于 2011-06-29T09:52:14.040 回答