Ruby on rails 使用多个SASS文件

Ruby on rails 使用多个SASS文件,ruby-on-rails,css,sass,Ruby On Rails,Css,Sass,我想把我的(巨大的)全局css文件分成多个文件。我在胡说八道。有没有一种简单的方法让sass观看多个文件?我想我可以使用@import,但我只是想知道是否还有其他更好的方法 提前谢谢。我使用导入,然后转到我的媒体目录,其中包括一个名为css的目录,所有css都在其中,然后运行sass--style compressed--watch css:css。从加载的scss文件生成一个css文件 为了澄清这一点,如果以下划线开头命名导入的文件,那么SASS不会尝试编译这些文件 因此,如果有一个名为sty

我想把我的(巨大的)全局css文件分成多个文件。我在胡说八道。有没有一种简单的方法让sass观看多个文件?我想我可以使用@import,但我只是想知道是否还有其他更好的方法


提前谢谢。

我使用导入,然后转到我的媒体目录,其中包括一个名为css的目录,所有css都在其中,然后运行
sass--style compressed--watch css:css
。从加载的scss文件生成一个css文件

为了澄清这一点,如果以下划线开头命名导入的文件,那么SASS不会尝试编译这些文件

因此,如果有一个名为style.scss的文件包含这些行

@import 'reset';
@import 'blog';

一些名为_reset.scss和_blog.scss的文件意味着,当您运行上面的命令时,它会生成一个名为style.css的文件,其中包含所有其他文件。变量也被称为更高层次的工作。

Rich Bradshaw提到的是正确的,但是这里有另一种方法,你可以采取

创建一个名为
combined.scss
(例如)的scss文件,然后在该文件中
@import
导入所有scss文件,然后只需运行
sass--style compressed--watch combined.scss:combined.css
,它将检测对导入的scss文件的更改,并根据需要重新编译

Combined.scss
示例:

@import "reset";
@import "layout";
@import "styles";
@import "ie";
因此,当您对
layout.scss
文件
combined.scss
进行更改时,它将重新编译,您实际需要引用的所有html页面都是
combined.css


但正如我所说,Rich Bradshaw的解决方案也会很好地工作,并且取决于您正在处理的项目,可能更好地使用它。

查看文件:
sass——查看public/stylesheets/sass:public/stylesheets
。这将监控
公共/stylesheets/sass
中的所有
.scss
文件,并将它们作为
.css
写入
公共/stylesheets/
我认为这实际上是最好的解决方案,因为它允许单独的css文件。谢谢,这就是我要找的。谢谢你的帮助。太好了,很高兴我能帮忙。我忘了提到的一点是,
@mixins
仅在您直接引用它们时才可用于文件。因此,如果您只是为您的
mixin
创建一个单独的文件,那么请确保每个需要访问它的文件都有一个
@import“mixin”
作为它的第一行(例如在
layout.scss
styles.scss
中)。另外一个注意事项:当您在附加样式表前面加下划线(例如“_reset.scss”)时,Sass不会将它们编译为css。如果您在combined.scss中包含了reset.scss@import(下划线可以省略),那么即使包含的一些scss文件发生了更改,也只会编译combined.scss。感谢以下划线开头的文件名提示,我不记得这一点,这正是我要找的!一件事下划线只是告诉Sass在编译时不要创建CSS文件。这并不意味着“嘿,完全忽略这个文件的所有内容。”