为什么当你出现错误时,barista/coffeescript 不告诉你出了什么问题?

问题描述 投票:0回答:1

我正在与咖啡师一起尝试 Coffeescript,但我使用起来并不愉快。

出于某种原因,每当我对 .coffee 文件进行更改时,咖啡师都会抱怨除了最微不足道的情况(例如对“alert”的简单调用)之外存在编译错误。

当我收到这些错误消息时,它实际上并没有告诉我出了什么问题 - 它只是说有一个“V8:JSError”。没有行号。没什么。

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

怎么会有人这样编程呢?我需要良好的反馈,否则我会完全迷失。大多数情况下,.coffee 文件不包含错误,因为它在我重新启动服务器后进行编译。

我也喜欢快速反馈,否则我会变得不耐烦。使用 Rails 进行开发的吸引力之一是一切都非常即时。不过,这个 CoffeeScript 的事情肯定和在 Java 中工作一样糟糕。

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

我刚刚设置错误吗?这真的是用 CoffeeScript 编写代码的感觉吗?如果是...那么为什么在 Rails 3.1 中每个人都被迫这样做?

我今天过得不太好。如果结果很糟糕,我很抱歉。我已经花了几个小时使用咖啡脚本,但老实说我并没有取得多大进展。没有详细错误消息的编程以及被迫重新启动服务器才能看到我的更改生效让我想起了 Java...这就是我首先停止使用它的原因。

:(

coffeescript
1个回答
1
投票

发生的事情是,当 Barista 在 CoffeeScript 代码中遇到编译时错误时,它会获取该错误消息并将其用作 JS 输出。由于该错误消息是无效的 JS,因此您的浏览器会收到一个模糊的错误。如果您能想到更好的方法来做到这一点,您应该提出问题提出建议。

现在,你应该做的是

  1. 查看页面源码,获取JS文件地址,直接在浏览器中打开,或者
  2. 使用文本编辑器的“构建”功能(例如 TextMate 中的 Cmd+B)来显示相关 CoffeeScript 文件的编译输出或编译错误,或者
  3. 使用 barista_growl 插件,以便在发生编译错误时收到 Growl 通知。

以上都不理想,但浏览器对 CoffeeScript 调试的支持即将到来......

© www.soinside.com 2019 - 2024. All rights reserved.