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

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

现在,我主要使用带有以下打印语句的警报调试

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

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

神无Davaid2020/03/09 20:34:35

ndb是由Chrome DevTools启用的Node.js改进的调试体验

https://github.com/GoogleChromeLabs/ndb

神奇Davaid2020/03/09 20:34:35

使用此命令

DEBUG_LEVEL=all node file.js
DEBUG=* node file.js
node file.js --inspect
乐古一2020/03/09 20:34:35

8.1版开始NetBeans IDE就已经支持Node.js了

<...>

新功能亮点

Node.js应用程序开发

  • 新的Node.js项目向导
  • 新的Node.js Express向导
  • 增强的JavaScript编辑器
  • 对运行Node.js应用程序的新支持
  • 调试Node.js应用程序的新支持。

<...>

其他参考:

  1. NetBeans维基/ NewAndNoteworthyNB81
  2. NetBeans IDE中的Node.js Express应用,Geertjan-Oracle
猿GO2020/03/09 20:34:35

有一个新的开源Nodeclipse项目(作为Eclipse插件或Enide Studio):

Nodeclipse在Eclipse 2013年十大新插件中排名第一它使用了经过修改的V8调试器(来自Google Chrome开发者工具Java版)。

Nodeclipse是每个月初发布的免费开源软件

老丝猪猪小卤蛋2020/03/09 20:34:35

有很多可能性...

调试支持通常使用v8调试协议或更新的Chrome调试协议来实现

小宇宙老丝2020/03/09 20:34:35

IntelliJ对于Node.js的工作非常出色。

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

JinJinGil2020/03/09 20:34:35

假设您已在计算机上安装了节点检查器(如果没有,只需键入“ npm install -g节点检查器”),则只需运行:

node-inspector & node --debug-brk scriptFileName.js

并将URI从命令行粘贴到WebKit(Chrome / Safari)浏览器中。

番长Jim路易2020/03/09 20:34:35
番长猴子古一2020/03/09 20:34:35

如果您需要强大的Node.js日志记录库,请使用Tracer https://github.com/baryon/tracer是一个更好的选择。

它输出带有时间戳,文件名,方法名,行号,路径或调用堆栈的日志消息,支持颜色控制台,并轻松支持数据库,文件,流传输。我是作者。

Near逆天2020/03/09 20:34:35

使用--inspect标志启动节点进程

node --inspect index.js

然后chrome://inspect在Chrome中打开点击“打开用于节点的专用DevTools”链接或安装 chrome扩展程序,以轻松打开chrome DevTools。

有关更多信息,请参考链接

猿AJim2020/03/09 20:34:35

使用Webstorm!非常适合调试Node.js应用程序。它具有内置调试器。在此处查看文档:https : //www.jetbrains.com/help/webstorm/2016.1/running-and-debugging-node-js.html

Eva西里2020/03/09 20:34:35

Visual Studio Code将在调试中为我们工作。

神乐米亚2020/03/09 20:34:35

Node.js中有内置的命令行调试器客户端Cloud 9 IDE也具有相当不错的(可视)调试器

木禾2020/03/09 20:34:35

为那些不确定从哪里开始的人整理了一个简短的Node.js调试入门,以使用node-inspector

泡芙卡卡西神乐2020/03/09 20:34:35

使用Chrome版本67.0.3396.62(+)

  1. 运行节点应用

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

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

在此处输入图片说明

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

在此处输入图片说明

飞云神奇2020/03/09 20:34:35

如果您使用的是Atom IDE,则可以安装该node-debugger软件包。

JinJin达蒙2020/03/09 20:34:35

Visual Studio Code具有非常好的Node.js调试支持。它是免费,开放源代码和跨平台的,可在Linux,OS X和Windows上运行。

如果需要,您甚至可以调试grunt和gulp任务

神奇神奇Near2020/03/09 20:34:35

我编写了另一种方法来调试Node.js代码,该方法稳定且极其简单。可从https://github.com/sa/iron-node获得

在此处输入图片说明

开源的跨平台可视调试器。

安装:

npm install iron-node -g;

调试:

iron-node yourscript.js;

十三伽罗Harry2020/03/09 20:34:35

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

JinJinLEY2020/03/09 20:34:35

us修斯是Adobe研究的一个项目,它使您可以在其开源编辑器Brackets中调试Node.js代码它具有一些有趣的功能,例如实时代码覆盖,追溯检查,异步调用树。

屏幕截图

JimLEYHarry2020/03/09 20:34:35

我个人使用JetBrains WebStorm,因为它是我发现的唯一一个对前端和后端JavaScript都非常有用的JavaScript IDE。

它可以在多个操作系统上运行,并具有内置的Node.js调试功能(以及大量其他功能)(http://www.jetbrains.com/webstorm/features/index.html)。

我唯一的“问题” /愿望清单项目 分别是

  1. Mac上的资源似乎比Windows多 在版本6中似乎不再是问题。
  2. 如果它具有Snippet支持(例如Sublime Text 2的支持),那就太好了,例如,键入“ fun”并点击“ tab”以放入函数。 请参阅下面的@WickyNilliams评论-使用实时模板,您还可以使用摘录支持。
Jim米亚西里2020/03/09 20:34:35

作为Google Chrome开发者工具的一部分发布V8调试器可用于调试Node.js脚本。有关如何工作的详细说明,请参见Node.js GitHub Wiki

神无LEY2020/03/09 20:34:35

Node.js版本0.3.4+具有内置调试支持。

node debug script.js

手册:http//nodejs.org/api/debugger.html

猪猪理查德2020/03/09 20:34:35

Visual Studio Code将是我进行调试的选择。没有安装任何工具或npm install东西的开销只需在package.json中设置应用程序的起点,VSCode就会在解决方案内部自动创建配置文件。它建立在Electron之上,像Atom这样的编辑器也建立在上面。

VS Code提供了与其他IDE(例如VS,Eclipse等)类似的调试体验。

在此处输入图片说明 在此处输入图片说明

凯斯丁达蒙2020/03/09 20:34:35

节点检查器可以节省一天!从支持WebSocket的任何浏览器中使用它断点,事件探查器,实时编码等,这真的很棒。

通过以下方式安装:

npm install -g node-inspector

然后运行:

node-debug app.js
阿飞十三2020/03/09 20:34:35

从6.3版开始,Node拥有自己的内置 GUI调试器(使用Chrome的DevTools)

节点内置GUI调试器

只需传递检查器标志,您将获得指向检查器的URL:

node --inspect server.js

您也可以--inspect-brk改为通过在第一行上中断