我正在使用guard-rails-assets gem在每次资产变更时在dev中编译我的资产。我的问题是,无论何时我改变一个资产,守卫都会编译所有资产。有没有办法让它只编译已更改的资产?
这是我的警卫档案:
guard 'rails-assets' do
watch(%r{^app/assets/.+$})
end
非常感谢!
乌里
答案 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任务进行了炮轰。此任务重新编译所有资产。
这可能很难实现,因为您必须了解完整的资产依赖关系图,以确定哪些编译资产受特定源文件更改的影响,并且当您完成所有这些操作时,也可以编译。链接器甚至可能不会在完整编译之外公开该信息。