繁体   English   中英

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

[英]Debugging local nodejs script in chrome dev tools

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

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

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

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

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

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

$ node --inspect index.js

但是,当我这样做时,它给了我错误,如 -

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

我的节点版本是:

$ node --version
v4.4.7

您需要节点6.3或更高版本 - 4.4.7中不支持

@Andrey非常感谢你指出我长时间在这个问题上摸不着头脑。 @dan感谢节点检查员的建议。

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

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

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

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

Node Inspector工作得很好。 还要记住,Node 7具有本机节点调试功能,甚至支持实时编辑! 以下是它的实际操作: Chrome DevTools:使用hotswapping实时编辑运行Node.js代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM