2016-11-11 74 views
3

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

在文档的NodeJS我看到它有一个像一些选项 -

V8督察集成的Node.js#注:这是一个实验 功能。

V8 Inspector集成允许将Chrome DevTools附加到Node.js 实例中进行调试和分析。

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

连接要打破上的应用程序代码的第一行中,提供 --debug-BRK标志除了--inspect。

--inspect index.js

但是,当我这样做,它给了我错误,如$节点 -

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

我的节点版本是:

$ node --version 
v4.4.7 
+1

节点4不支持没有这个实验性的功能。它出现在节点6中。可能你正在阅读最新的文档。这是一个节点4:https://nodejs.org/dist/latest-v4.x/docs/api/debugger.html – Andrey

+0

如果您正在运行node.js v4,那么[node-inspector](https:/ /github.com/node-inspector/node-inspector)值得一看 – dan

+0

与NodeJs中的开发/调试相关的相关文章[here](https://stackoverflow.com/q/19503641/465053)。 – RBT

回答

1

@Andrey 非常感谢您指出我在很长一段时间内挠头是。 @dan 感谢节点检查员的建议。

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

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

这是我在做什么,开始调试.. 打开一个终端和

$ 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 

Intially我只使用--debug。但它没有达到断点并正在通过所有代码。然后我用--debug-brk。使用--debug-brk导致节点在应用程序的第一行中断,并等待调试器命中断点。

然后开始谷歌Chrome和去 http://127.0.0.1:8080/debug?port=5858

这里Chrome浏览器开发工具被打开,我能够把破发点,并调试代码。

9

您需要点6.3或以上--inspect在4.4.7

相关问题