我在assets / stylesheets目录中设置了一组[object] .css.scss样式,以便与我的应用程序中的不同视图相对应。每个工作表在第一行包含一组全局样式变量值:
@import "branding.css.scss";
然后在整个库中需要时访问变量值($ primaryColor,$ secondaryColor等)。
它非常干燥,但遗憾的是,当我对_branding.css.scss文件中的变量值进行更改时,Rails不会刷新对象样式表。在SCSS使用更新的变量值重新编译对象样式库之前,我必须去触摸每个文件。
这是一个小小的抱怨,但它会破坏工作流程,特别是当我不断清理浏览器缓存以尝试修复它时:/
有没有更好的方法来组织变量?
有没有办法强制刷新?
答案 0 :(得分:3)
我一直把变量和mixin放到includes.css.scss
文件中,然后将它们导入到需要它们的每个样式表中。要在更改包含文件时重新编译Rails,您需要在application.js中使用depend_on
指令。例如:
<强> application.css 强>:
/*
*= depend_on includes
*= require_self
*= require stylesheet
*/
<强> includes.css.scss 强>:
$bg-color: #999;
<强> stylesheet.css.scss 强>:
@import "includes.css.scss";
body { background: $bg-color; }
答案 1 :(得分:1)
这确实很烦人......
我没有一个完整的解决方案,但我发现有一件事是你需要做的就是触摸'application.css.scss'来重新编译所有内容。
我最近开始使用guard-compass和guard-livereload,但它在3.1中也有同样的问题。也许比我更聪明的人可以解决它,以便它也触及'application.css.scss'?