如何让Compass自动导入app / assets / stylesheets中的所有样式表?

时间:2012-12-11 11:46:50

标签: ruby-on-rails ruby-on-rails-3 compass-sass

我正在尝试使用Compasscompass-rails添加到我的Rails 3.2应用中。如何让它自动导入app/assets/stylesheets中的所有样式表?目前,我必须在@import 'filename';为每个人手动执行application.css.scss

2 个答案:

答案 0 :(得分:3)

将所有scss文件( application.css.scss 除外)放在另一个文件夹中:

  

/application.css.scss

     

/all/hello.css.scss

     

/all/hi.css.scss

application.css.scss文件如下所示。

@import "compass";
@import "all/*";

答案 1 :(得分:1)

对于捆绑样式表,请使用资产管道

如果您正在使用资产管道,则应自动执行以下操作:

/*
 * In application.css
 *= require_tree .
 */

文档:http://guides.rubyonrails.org/asset_pipeline.html#manifest-files-and-directives

重要的警告是“使用Sprockets指令,所有Sass文件都存在于它们自己的范围内,使得变量或混合仅在它们定义的文档中可用。”

对于mixins& vars,将您的导入放在一个地方,然后导入一次

如果您对这些函数很重视,请尝试为所有mixin和var文件创建一个类似app/assets/stylesheets/base.css.scss的文件,其中包含@import指令(通配符或不包含通配符)。然后,每个样式表只需要@import "base"一次,并且仍然可以使用sprockets指令捆绑你的css。