使资产管道与Chrome DevTools自动保存一起使用

NVI*_*NVI 6 ruby-on-rails ruby-on-rails-plugins google-chrome-devtools asset-pipeline

Chrome DevTools自动保存不适用于Rails Asset Pipeline.问题的罪魁祸首是资产URL - 我无法通过其URL解密实际文件路径.例如,/ assets/application.css可以引用app/assets/stylesheets/application.css,lib/assets/stylesheets/application.css或vendor/assets/stylesheets/application.css.

我想知道,如何将资产URL更改为以下之一:

  • /app/assets/stylesheets/application.css(完全匹配实际文件路径,完美解决方案)
  • /assets/application.css?source_url=app/assets/stylesheets/application.css(介绍source_url查询参数)

我很感激为此编写Rails插件的任何帮助.


更新:向链轮填充了一个问题.

mwo*_*ech 3

我会尽力让事情顺利进行,但我必须做更多的事情来验证或提供更好的答案,因此我将标记此答案社区维基。 这样其他人就可以在下面回答或编辑这篇文章。

我必须为 Sinatra 设置资产管道,一般来说,在最新版本的 Sprockets(用于在 Rails 中提供资产管道)中,该类Sprockets::Asset具有获取路径和逻辑路径的方法。

我相信 Rails 使用asset_path帮助器从 Sprockets 类生成面向公众的 url。这又似乎使用了AssetPaths#compute_public_path实例方法。好的第一步是修改代码的这些部分,以根据source_url您对source.pathname. 这是假设 source 是Sprockets::Asset某种形式的实例。