【问题标题】:How can I get Compass to automatically import all stylesheets in app/assets/stylesheets?如何让 Compass 自动导入 app/assets/stylesheets 中的所有样式表?
【发布时间】:2012-12-21 10:00:24
【问题描述】:

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

【问题讨论】:

  • 我不知道这种可能性。文件数量变化很大吗?否则,只需制作一个额外的部分,它会导入所有其他部分,然后只导入那个部分。

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


【解决方案1】:

将所有 scss 文件(除了 application.css.scss)放在不同的文件夹中:

/application.css.scss

/all/hello.css.scss

/all/hi.css.scss

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

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

【讨论】:

    【解决方案2】:

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

    如果您正在使用资产管道,这应该会自动发生:

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

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

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

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

    如果您对函数很感兴趣,请尝试使用像 app/assets/stylesheets/base.css.scss 这样的文件,其中包含用于所有 mixin 和 var 文件的 @import 指令(无论是否通配符)。然后您只需为每个样式表 @import "base" 一次,并且仍然可以使用 sprockets 指令捆绑您的 css。

    【讨论】:

      猜你喜欢
      • 2014-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-29
      • 2018-01-25
      • 2013-01-24
      • 1970-01-01
      相关资源
      最近更新 更多