[英]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.