【问题标题】:Asset pipeline ordering - override not working in production资产管道订购 - 覆盖在生产中不起作用
【发布时间】:2015-02-01 00:47:00
【问题描述】:

我的产品样式存在一些我无法诊断的差异。大多数元素都很好,只有一些小例外。我的字体在生产中也受此影响。

在开发中计算样式:

background-color: rgb(240, 242, 243);
html, body - rgb(240, 242, 243)                base.css:4
<s>body - #ffffff</s>                          bootstrap.css?body=1:303 

在生产中:

background-color: rgb(255, 255, 255);
body - #ffffff                                  application-793...4c4e125c.css:9
<s>html, body - rgb(240, 242, 243)</s>          base.css:1

生产中的资产设置:

config.cache_classes = true
config.serve_static_assets = true
config.assets.compile = true
config.assets.digest = true

开发中:

config.cache_classes = false
config.serve_static_assets = false

assets/application.css:

/*
*= require bootstrap
*= require font-awesome
*= require rails_bootstrap_forms
*= require fonts
*= require _activities
*= require _feedback
*= require _admin
*= require_self
*= require screen #base.css is imported here
*= require overrides
*/

我的 screen.scss:

@import "function";
@import url("fonts.css");
@import url("base.css");
@import url("header.css");
@import url("footer.css");
@import url("elements.css");

它看起来像 application-793...4c4e125c.css 中生产中的预编译顺序差异。我认为 bootstrap 会先编译,然后调用 base.css 会覆盖 bootstrap default 。我已经为生产进行了预编译。关于资产管道的工作方式,我缺少什么?我已经阅读了 rails 文档,但无法弄清楚。

【问题讨论】:

  • 能否尝试在 scss 中使用@import "forms"; 而不是@import url("fonts.css");(适用于所有导入),这样会编译到一个文件中
  • 成功了,谢谢
  • Pavel,您想添加您的评论作为答案以便我接受吗?

标签: css ruby-on-rails twitter-bootstrap asset-pipeline


【解决方案1】:

尝试使用

@import "forms";

在 scss 中而不是(对于所有导入)

@import url("fonts.css");

所以它将被编译到一个文件中。

【讨论】: