0

我有一个保护文件,其唯一目的是将咖啡脚本文件重新编译成 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最初编译,然后编译第一个更改,然后再也不做任何事情。

谢谢

4

1 回答 1

1

看起来您必须将 CoffeeScript 文件放在一个目录中才能使 guard-coffeescript 工作。您不能将 CoffeeScript 文件与 Guardfile 放在同一目录中。

更新:

做了一些进一步的调查,发现如果你将输入文件正则表达式放在块内而不是使用 :input 参数,你实际上可以使用当前目录中的 CoffeeScript 文件。

改变你Guardfile的东西是这样的:

guard :coffeescript, :all_on_start => true, :output => '.' do
  watch(%r{(.+\.coffee)})
end
于 2012-03-07T19:29:41.937 回答