繁体   English   中英

如何调试从 CoffeeScript 生成的 Node.js/JavaScript 代码?

[英]How to debug Node.js/JavaScript code generated from CoffeeScript?

我在 Node.js 中使用 CoffeeScript。 我希望能够调试弹出的 JavaScript 错误/异常,但是这些错误的行号来自生成的 JavaScript 代码,而不是来自 CoffeeScript 源代码,所以我无法弄清楚 CoffeeScript 中的错误实际上在哪里是。

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

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

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

简要地:

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

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

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

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

  • 点击“检查”按钮

因为 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
        ]
    }]
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM