如何调试Node.js服务器应用程序?

现在,我主要使用如下打印语句的警报调试:

sys.puts(sys.inspect(someVariable));

必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.js吗?


当前回答

使用Chrome版本67.0.3396.62(+)

运行节点应用程序

node--inspect brk=0.0.0.0:9229 server.js(服务器js文件名)

在chrome中浏览应用程序,例如“localhost:port”打开DevTools。单击响应设备图标旁边的节点图标。

将出现另一个DevTools窗口,专门用于调试节点应用程序。

其他回答

调试Node.JS应用程序的方法如下:

1) 安装devtool并用它启动应用程序

npm install devtool -g --save
devtool server.js

这将在chrome开发人员模式下打开,因此您可以放置调试器点并进行测试。

2) 使用节点检查器进行调试

node-inspector

3) 使用--debug调试

node --debug app.js 

Visual Studio 2012或2013的Node.js工具包含调试器。这里的概述指出“Node.js Tools for Visual Studio包括对调试节点应用程序的完全支持”。作为Node.js的新手,但我有.NET背景,我发现这个插件是调试Node.js应用程序的一个好方法。

使用此命令

DEBUG_LEVEL=all node file.js
DEBUG=* node file.js
node file.js --inspect

其他答案中没有提到的另一个选项是使用名为Rookout的工具。它用于从本地和远程应用程序调试和获取数据。我们在生产环境中使用它将数据聚合到其他服务中,这为我们省去了很多麻烦和硬编码日志记录

IntelliJ在Node.js上运行得很好。

此外,IntelliJ还支持“代码协助”。