guard-rails-assets gem - 仅编译已更改的资产

时间:2014-04-27 08:04:55

标签: ruby-on-rails assets guard precompile

我正在使用guard-rails-assets gem在每次资产变更时在dev中编译我的资产。我的问题是,无论何时我改变一个资产,守卫都会编译所有资产。有没有办法让它只编译已更改的资产?

这是我的警卫档案:

guard 'rails-assets' do
  watch(%r{^app/assets/.+$})
end

非常感谢!

乌里

1 个答案:

答案 0 :(得分:0)

从源代码判断:

https://github.com/dnagir/guard-rails-assets/blob/master/lib/guard/rails-assets.rb

https://github.com/dnagir/guard-rails-assets/blob/master/lib/guard/rails-assets/cli_runner.rb

我强烈怀疑答案是“不”。 gem没有做任何特殊的事情来编译资产。它只是对内置的rails assets:precompile rake任务进行了炮轰。此任务重新编译所有资产。

这可能很难实现,因为您必须了解完整的资产依赖关系图,以确定哪些编译资产受特定源文件更改的影响,并且当您完成所有这些操作时,也可以编译。链接器甚至可能不会在完整编译之外公开该信息。