如何使用node-inspector调试BabelJS转译的代码?

21

我正在尝试使用node-inspector来调试一个使用babel-node运行的nodeJS应用程序。

babel-node index.js --debug

Node-inspector能够工作,但它显示的源地图是转换后的es5而不是es6。

在此输入图片描述

3个回答

5

5
根据《JavaScript道》,“代码瞬间流动,因此知识只是一个提示,就像河流的地图一样。”
最新版本的v8现在使用了以下命令:
$ babel-node --inspect --debug-brk a.js

关于源码映射,请尝试在 a.js 中添加以下内容:

import 'source-map-support/register';

4
它需要一个包装器,将源映射到源代码而不是转换后的代码。
来自https://babeljs.io/docs/setup/#babel_node_debug
npm install -g babel-node-debug
babel-node-debug index.js

更新

不再使用babel-node运行它,而是将其转换为es5 +源映射,然后使用node运行它。 这样做,node-inspector将在源开发工具中显示正确的代码。

我还没有弄清楚如何使用babel-node实现这一点。


最近我一直在使用带有源映射标志的node-inspector调试已编译的node应用程序。更多信息请参见https://dev59.com/yl0a5IYBdhLWcg3wCE7P。 - cuadraman
1
有一个未合并的拉取请求可以解决这个问题:https://github.com/CrabDude/babel-node-debug/pull/12 - Sigfried

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接