逐行调试CoffeeScript

时间:2012-06-17 00:25:51

标签: debugging coffeescript

有没有办法逐行调试CoffeeScript?

我明白它会编译成Javascript。但这听起来可能会让调试变得很麻烦。

6 个答案:

答案 0 :(得分:35)

更新:目前有一个生成redesignsource maps coffeescript编译器,可让您在最新版本的Google Chrome中调试您的coffeescript(18及更高版本)我想)。

我认为它尚未准备好生产,但值得一提。

答案 1 :(得分:29)

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

coffee --nodejs --debug-brk yourscript.coffee

答案 2 :(得分:14)

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

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

答案 3 :(得分:9)

是的,node-inspector

npm install -g node-inspector

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

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

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

了解更多信息see this post

答案 4 :(得分:4)

Coffeescript现在支持源地图: http://coffeescript.org/

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

答案 5 :(得分:0)

现在是2020年,我找到了这个问题,然后找到了vscode支持源地图,因此我们可以使用vscode直接调试咖啡。

顺便说一句,我认为咖啡需要大大改善。就像静态数据一样。 无论如何,这是我的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
        ]
    }]
}