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

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

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

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


当前回答

我为那些不知道从哪里开始使用节点检查器的人编写了一个简短的Node.js调试入门。

其他回答

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

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

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

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

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

node-inspector

3) 使用--debug调试

node --debug app.js 

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

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

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

我创建了一个名为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()

作为Google Chrome开发者工具的一部分发布的V8调试器可用于调试Node.js脚本。可以在Node.js GitHub wiki中找到这一工作原理的详细说明。

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

VS Code提供了与您可能拥有的类似的调试经验在其他IDE中,如VS、Eclipse等。