在chrome dev工具中调试本地nodejs脚本

时间:2016-11-11 15:14:45

标签: javascript node.js debugging google-chrome-devtools

我有一个独立的节点js脚本。 我正在使用该脚本执行一些本地任务。我想在chrome dev工具中调试该脚本。我知道我可以通过在代码中放置调试器来本地调试它,但不想这样做。

在nodejs docs上,我看到它有一些选项,如 -

  

Node.js的V8 Inspector集成#注意:这是一个实验性的   特征

     

V8 Inspector集成允许将Chrome DevTools附加到Node.js   用于调试和分析的实例。

     

可以通过传递--inspect标志来启用V8 Inspector   启动Node.js应用程序。也可以提供定制   带有该标志的端口,例如--inspect = 9222将接受DevTools   端口9222上的连接。

     

要打破应用程序代码的第一行,请提供   除了--inspect外,还有--debug-brk标志。

     

$ node --inspect index.js

但是当我这样做时,它会给我一个像 -

这样的错误
$ node --version
v4.4.7

我的节点版本是:

(index):30 Error: SyntaxError: Unexpected token <(…)

3 个答案:

答案 0 :(得分:9)

您需要6.3或更高版本的节点 - 4.4.7

中不支持

答案 1 :(得分:1)

@Andrey 非常感谢你指出我在这个问题上长时间不知疲倦。 @担 感谢节点检查员的建议。

我只是发布一个答案,万一其他人可能会坚持这个。

我安装了node-inspector和

这就是我在启动调试器时所做的事情。 打开一个终端

$ node-inspector --no-preload
Node Inspector v0.12.5
Visit http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858 to start debugging.

在另一个终端,

$ node --debug-brk app.js 
debugger listening on port 5858

最初我只使用--debug。但它没有触及断点,而是经历了所有代码。然后我使用了--debug-brk。使用--debug-brk导致节点在应用程序的第一行中断,并等待调试器命中断点。

然后启动谷歌Chrome并转到 http://127.0.0.1:8080/debug?port=5858

这里打开了chrome dev工具,我能够提供断点并调试代码。

答案 2 :(得分:0)

Node Inspector运行良好。还要记住,Node 7具有本机节点调试功能,甚至支持实时编辑!这是一个实际的GIF:Chrome DevTools: Live edit running Node.js code with hotswapping