【问题标题】:Debugging local nodejs script in chrome dev tools在 chrome 开发工具中调试本地 nodejs 脚本
【发布时间】:2017-02-22 08:02:33
【问题描述】:

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

在 nodejs 文档上,我看到它有一些选项,例如 -

Node.js 的 V8 Inspector 集成# 注意:这是一个实验性的 功能。

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

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

要在应用程序代码的第一行中断,请提供 --debug-brk 标志除了 --inspect。

$ node --inspect index.js

但是当我这样做时,它会给我这样的错误 -

$ node --inspect index.js
node: bad option: --inspect

我的节点版本是:

$ node --version
v4.4.7

【问题讨论】:

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


【解决方案1】:

您需要 node 6.3 或更高版本 --inspect 在 4.4.7 中不支持

【讨论】:

  • 这不可能。我得到节点 14 并得到相同的消息。
【解决方案2】:

@安德烈 非常感谢您指出我在这方面摸不着头脑。 @担 感谢节点检查员的建议。

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

我已经安装了节点检查器,并且,

这就是我正在做的启动调试器.. 打开一个终端和

$ 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 导致节点在应用程序的第一行中断并等待调试器命中断点。

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

这里打开了 chrome 开发工具,我可以设置断点并调试代码。

【讨论】:

    【解决方案3】:

    节点检查器工作得很好。还要记住 Node 7 有本地节点调试,甚至支持实时编辑!这是它的 GIF 动图:Chrome DevTools: Live edit running Node.js code with hotswapping

    【讨论】: