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

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

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

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


当前回答

您可以尝试捕获错误:

function yourFunc() {
  try {
      // YOUR CODE HERE
  } catch (err) {
      console.error(err.message + ", " + err.trace);
  }
}

错误消息和错误跟踪将为您提供识别和纠正运行时错误所需的信息。

其他回答

如果您使用的是Atom IDE,则可以安装节点调试器包。

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

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

我创建了一个名为pry.js的小工具,可以帮助您解决问题。

将一个简单的语句放在代码中的某个地方,正常运行脚本,节点将停止当前线程,从而允许您访问所有变量和函数。随意查看/编辑/删除它们!

var pry = require('pryjs')

class FizzBuzz

  run: ->
    for i in [1..100]
      output = ''
      eval(pry.it) // magic
      output += "Fizz" if i % 3 is 0
      output += "Buzz" if i % 5 is 0
      console.log output || i

  bar: ->
    10

fizz = new FizzBuzz()
fizz.run()

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

如果需要,您甚至可以调试咕噜咕噜的任务。。。

使用node js的VS代码开发人员专用。启用内置调试

文件>首选项>设置>在搜索框中键入“自动附加”并设置调试器应如何附加[仅首选项WithFlag]

说魔术,你应该看到

使用--inspect您应该与代码一起运行节点程序:)

提示:您也可以在没有--inspect的情况下运行,方法是启用始终筛选