使用node-inspector调试Node/Express RESTful API

7

我看到了很多关于调试Node/Express应用程序的问题,但它们似乎是一个Node Web应用程序,而不是RESTful服务器。

我已经建立了一个简单的服务器,并且当使用命令node server.js启动服务器时,它能够正常工作。我可以使用Postman或其他一些工具来调用GET / POST请求。

安装了node-inspector模块后,当我使用命令node-debug server.js启动node-inspector调试时,它会在http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858 上展示一个带有检查器窗口的网页。

然后,我再次使用Postman来调用请求(之前已成功调用),但它显示了一个404错误无法获取/api/v1/user/login

如何向正在调试的服务器发出请求?


2
这可能是因为当您启动调试器时,server.js 的执行被暂停,REST 服务器实际上还没有启动。尝试恢复执行(暂停或播放按钮),并设置断点。 - Robert Rossmann
不,我已经恢复执行了。 - t4nhpt
你使用哪个版本的NI? (0.11.0发布了网络调试功能,理论上可能会导致一些问题。你可以尝试使用0.10版本吗?) - 3y3
4个回答

1

尝试使用 nodedev

1)安装 nodedev

sudo npm install -g nodedev

2)启动您的服务器:

nodedev server.js

3) 访问页面http://127.0.0.1:7001/debug?port=7000进行调试...

4) ...

5) 获利!

额外奖励: 当检测到更改时,您的服务器将自动重启!


1
这是我的解决方案:不要直接使用node-debug *.js。相反,在项目中打开两个终端。例如,我想调试server-3.js,如下图所示。在一个终端中,使用node-inspector进行调试监听,在另一个终端中使用node --debug server-3.js。

enter image description here

enter image description here

在Postman发送请求后:

在此输入图片描述

您可以在监听端口5858的node-inspector窗口中查看调试情况:

enter image description here

我相信这是您想要实现的目标。
最新的更新是,您也可以使用名为“Debugger for Chrome”的插件的vscode,该插件具有您想要的调试功能。

enter image description here


0

使用 node-inspector 替代 node-debug(它在相同的模块中) 在一个终端窗口中执行: node-inspector 在另一个终端窗口中执行: node --debug server.js


0
请注意,--debug选项已被弃用。推荐使用--inspect选项。否则会收到警告/错误。
(node: 11524) [DEP0062] DeprecationWarning: node --debug和node --debug-brk 无效。请改用node --inspect或node --inspect-brk。

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