4

我将 CoffeeScript 与 Node.js 一起使用。我希望能够调试弹出的 JavaScript 错误/异常,但这些错误的行号来自生成的 JavaScript 代码,而不是来自 CoffeeScript 源,所以我无法确定 CoffeeScript 中错误的实际位置是。

无论如何我可以调试这个吗?我有最新版本的 node.js,版本0.10

4

3 回答 3

2

CoffeeScript 编译器支持源映射,因此有一个从 JavaScript 到 Coffeescript 的映射,其中包含您需要知道的信息。对于您的服务器端项目,我认为Jet Brains 使用此地图进行调试。在浏览器方面Chrome 似乎支持它。我不确定其中一个工具是否适合您,但如果不是,我认为 CoffeeScript 和 source map 是您应该寻找的词。祝你好运!

于 2013-05-26T20:33:52.753 回答
0

因为sourcemap,coffee就像js一样。这样我们就可以在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-19T20:19:12.980 回答
0

我为 LiveScript 创建了一个工具,它与 CoffeeScript 非常接近,因此您可以根据需要对其进行修改:https ://github.com/ceremcem/debug-ls

简要地:

  • 使用您最喜欢的捆绑程序(在本例中我使用 Rollup)从您的主脚本生成一个包含源映射的捆绑包。

  • 使用以下命令运行您的脚本:

    node --enable-source-maps --inspect-brk your-bundle.js
    
  • 转到chrome://inspect/#devicesChrome 中的地址

  • 查找“远程目标”部分下列出的进程

  • 点击“检查”按钮

于 2020-09-02T20:02:02.097 回答