我有后卫(红宝石宝石)的设置和工作似乎在我的Mac和后卫咖啡和保护壳设立保护似乎很好地工作。这里是我的Guardfile以下后卫咖啡似乎导致后卫-shell执行两次
guard 'coffeescript', :input => 'src/javascripts', :output => 'public/javascripts'
guard 'shell' do
watch(%r{^public/.+\.(js|css)$}) do |m|
puts m.inspect
if m[1] == 'js'
puts 'a js is new!'
else
puts 'a css is new!'
end
puts %x{ echo #{File.mtime(m[0])} }
end
end
这似乎是输出的相关章节“一个js是新的”两次,如果我编辑的CoffeeScript文件。随着它的调试似乎后
13:39:23 - DEBUG - Hook :run_on_changes_begin executed for Guard::CoffeeScript
13:39:23 - INFO - Compile src/javascripts/blah.coffee
13:39:23 - INFO - 01:39:23 PM Successfully generated public/javascripts/blah.js
["public/javascripts/blah.js", "js"]
a js is new!
和
13:39:23 - DEBUG - Hook :run_on_changes_end executed for Guard::CoffeeScript
["public/javascripts/blah.js", "js"]
a js is new!
运行它似乎只火一次,如果我编辑blah.js文件直接。我对钩子的工作方式有点困惑,我能否把它锁在另一名后卫的钩子上?我是否应该在coffeescript后卫的回调中运行此代码?我正在尝试使用群组,并且只在群组中使用shell部分,而不想在使用回调的情况下重复使用咖啡卫兵。
我如何能停止触发壳后卫两次咖啡一个火灾时,有什么想法?
这似乎是伎俩!感谢您的跟进:)我非常喜欢守卫,我希望尽快挖掘更多内容。另外,因为我刚刚做了一个“捆绑更新”,所以我也放松了1.5.1的防守,如果这也影响了任何事情。我在这个周末旅行,或者我会早点看到这一点。 – Rockshandy