我有一个保护文件,其唯一目的是将coffeescript文件重新编译为js,将sass文件重新编译为css。所以我创建了一个Gemfile:
source :rubygems
group :development do
gem 'therubyracer'
gem 'guard-coffeescript'
gem 'guard-sass'
gem 'ruby_gntp'
end
和一个Guardfile:
group :development do
guard :coffeescript, :all_on_start => true, :input => '.', :output => '.'
guard :sass, :input => 'css', :output => 'css'
end
当我bundle exec guard
时,我明白了:
Guard uses GNTP to send notifications.
Guard is now watching at '/Users/sxross/Developer/Safari Extensions/iStockphoto/iStockphoto.safariextension'
Compile
Successfully generated
ERROR: Error sending notification with gntp: Connection refused - connect(2)
sass正在成功生成,但不是咖啡脚本。我也在努力解决GNTP问题。我在Lion上运行,并拥有最新版的Growl和Growl Notifier。我刚刚安装了ruby_gntp gem,因此应该是最新的。
对于背景,这是一个巨大的锤子,旨在解决coffee -wc foo.coffee
最初编译的事实,然后编译第一个更改,然后再也不做任何事情。
由于
答案 0 :(得分:1)
看起来您必须将CoffeeScript文件放在目录中才能使guard-coffeescript正常工作。您不能将CoffeeScript文件与Guardfile放在同一目录中。
<强>更新强>
进行了一些进一步的调查并注意到如果将输入文件正则表达式放在块中而不是使用:input参数,则实际上可以在当前目录中使用CoffeeScript文件。
将您的Guardfile
更改为以下内容:
guard :coffeescript, :all_on_start => true, :output => '.' do
watch(%r{(.+\.coffee)})
end