调试Rails资产管道的最佳实践

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

在开发中工作,并在运行时编译(即包括来自大量已编译的css文件),我的应用程序看起来正是我期望的。

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

当我在开发中查看生成的css文件并通过css3validation器传递它时,我可以看到在使用vendored css文件时发生validation错误(在大多数情况下,这些是由于供应商特定的hacks,引发validation器) – 当我通过w3cvalidation器运行它时,我生成的文件正在通过validation,我在下面的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文件,或类似的东西?

如果你使用像bootstrap-sass这样的东西,你不应该使用Sprocket指令,你应该使用@import

将您的清单文件从application.css重命名为application.css.scss ,然后将@import重命名,例如:

 @import "frameworks"; @import "bootstrap-responsive";