52

有没有办法逐行调试 CoffeeScript?

我知道它可以编译成 Javascript。但这听起来可能会让调试变得很痛苦。

4

6 回答 6

36

更新:目前重新设计了生成源映射的咖啡脚本编译器,这应该使您能够在最新版本的谷歌浏览器(我认为是 18 及更高版本)中调试咖啡脚本。

我认为它还没有准备好生产,但值得一提。

于 2012-10-23T11:10:29.060 回答
29

如果您从终端运行coffeescript,您可以使用node-inspector逐行调试它,以这种方式启动您的脚本:

coffee --nodejs --debug-brk yourscript.coffee
于 2012-07-17T11:50:54.560 回答
14

目前调试 CoffeeScript 相当痛苦。大多数人使用大量的单元测试。

在调试 CoffeeScript 方面有一些工作正在进行,但在我们拥有一个非常好的调试器之前可能还需要一段时间。一个例子是http://www.infoq.com/news/2011/08/debug-languages-on-javascript-vm

于 2012-06-17T00:33:39.543 回答
9

是的,使用node-inspector

npm install -g node-inspector

通过将语句debugger放入脚本的源代码中,您将启用断点。然后在控制台中输入:

coffee -c -m myscript.coffee
node-debug myscript.js

Node Inspector 支持开箱即用的源映射,因此不需要额外的配置。

有关更多信息,请参阅这篇文章

于 2014-07-14T09:53:38.887 回答
5

Coffeescript 现在支持源映射: http ://coffeescript.org/

例如 Jetbrains 支持此功能:https ://blog.jetbrains.com/ruby/2013/01/whats-mining-coffeescript-debugger/

于 2013-03-12T18:51:20.187 回答
1

现在是2020年,找到这个问题,然后找到vscode支持sourcemap,所以我们可以直接用vscode调试coffee。

顺便说一句,我认为咖啡需要很大的改进。就像静态数据一样。无论如何,这是我的launch.json:

{
    "version": "0.2.0",
    "configurations": [{
        "type": "node",
        "request": "launch",
        "name": "Launch Program",
        "skipFiles": [
            "<node_internals>/**"
        ],
        "program": "${file}", //important, make sure debug current file
        "outFiles": [
            "${workspaceFolder}/dist/api/api.js" //important, where to find sourcemap js file
        ]
    }]
}
于 2020-11-19T18:54:19.250 回答