4

我正在使用 Rails 3 应用程序bootstrap-sass和资产管道,我正在寻找一些关于如何调试资产管道问题的想法。

在开发工作和动态编译(即包括从大量编译的 css 文件中)时,我的应用程序看起来完全符合我的预期。

但是,当我使用资产管道将资产编译到单个文件中以测试它在生产中的行为时,我认为连接文件application.css中的验证错误导致浏览器停止正确评估 css,并且我看到了一个数字的显示问题。

当我在开发中查看生成的 css 文件并将它们传递给 css3 验证器时,我可以看到在使用供应商的 css 文件时发生验证错误(在大多数情况下,这些是由于供应商特定的黑客攻击,关闭了验证器) - 当我通过 w3c 验证器运行它们时,我生成的文件正在通过验证,并且我在下面的 sprockets 文件中列出了通过/失败结果:

/*
 * sprocket file in application.css
 *
 *= require_self
 *= require vendor
 *= require bootstrap-include # FAILS 474 ERRORS - presumably down to css hacks
 *= require DT_bootstrap      # FAILS TWO ERRORS - presumably down to css hacks again
 *= require navbar            # PASSES
 *= require footer            # PASSES
 *= require main              # PASSES
 *= require home              # PASSES
 *= require widget            # PASSES
 *= require search            # PASSES
 *= require devise            # PASSES
 *= require doohickeys        # PASSES
 *= require datepicker        # FAILS - again yet more cross browser css hacks suspected
*/

当连接像这样破坏应用程序的视觉效果时,您应该如何开始为生产准备文件?

我在这里询问如何最好地调试这样的编译样式表 - 这听起来像是以前优雅地解决的问题,但在处理这样的问题时我不知道可靠的方法.

例如,我可以看到一些规则没有通过使用 Firefox 和 Webkit 中的 Web 开发人员检查器工具进行评估,但我不清楚如何超越这些,除了对编译的 CSS 进行一些费力的二进制搜索。

当然,已经有一些更专业的工具可用于此类情况,例如只能application.css编译bootstrap-sass.

4

1 回答 1

3

如果你正在使用类似 bootstrap-sass 的东西,你不应该使用 Sprocket 指令,你应该使用@import.

将清单文件从 重命名application.cssapplication.css.scss,然后@import离开,例如:

@import "frameworks";
@import "bootstrap-responsive";
于 2012-04-11T13:39:26.893 回答