为什么barista / coffeescript在你出错时没告诉你出了什么问题?

时间:2011-05-16 01:52:29

标签: javascript ruby-on-rails ruby compiler-construction coffeescript

我正在和咖啡师一起尝试coffeescript,我没有很开心。

出于某种原因,每当我对.coffee文件进行更改时,barista都会抱怨编译错误,除了最简单的情况(比如简单调用'alert')。

当我收到这些错误消息时,它实际上并没有告诉我什么是错的 - 它只是说有一个'V8:JSError'。没有行号。什么都没有。

为了修复这些错误,我在CTRL-C Rails服务器上重新启动它......一切都很好......但是对.coffee文件进行任何改动只会导致Barista再次抛出一个编译错误 - 和这个过程重复了。即使我添加了正确的Coffeescript代码,它仍然会引发编译器错误。我不明白为什么。

任何人都可以这样编程?我需要很好的反馈,否则我完全迷失了。大多数情况下,.coffee文件不包含任何错误,因为它在重新启动服务器后编译。

我也喜欢快速反馈,或者我不耐烦。使用rails开发的一个吸引人之处在于,一切都非常直接。这个咖啡馆的东西虽然必须像在Java中一样糟糕。

尽管我讨厌javascript,但至少反馈更具响应性,我不必重新启动服务器。

我刚刚设置错了吗?这真的是在coffeescript中编码的感觉吗?如果是......那么为什么这会被强加给rails 3.1中的每个人?

我今天没有过好日子。对不起,如果这很糟糕的话。我一直在花费数小时的咖啡,我老实说我没有走得太远。编程没有详细的错误消息,并被迫重新启动服务器以查看我的更改生效,这让我想起了Java ......这就是我首先停止使用它的原因。

:(

1 个答案:

答案 0 :(得分:1)

当Barista遇到CoffeeScript代码中的编译时错误时,它会接收该错误消息并将其用作JS输出。由于该错误消息是无效的JS,因此您的浏览器会出现模糊错误。如果您能想出更好的方法,那么您应该raise an issue提出建议。

目前,您应该做的是

  1. 查看页面来源,获取JS文件的地址,然后直接在浏览器中打开,或
  2. 使用文本编辑器的“构建”功能(例如TextMate中的Cmd + B)来显示负责的CoffeeScript文件的编译输出或编译错误,或
  3. 使用barista_growl插件,以便在发生编译错误时收到Growl通知。
  4. 以上都不是理想的,但是对CoffeeScript调试的浏览器支持即将到来......