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

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

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

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


当前回答

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

Nodeclipse在2013年Eclipse Top 10 NEW Plugins中排名第一。它使用了一个经过修改的V8调试器(来自Google Chrome Developer Tools for Java)。

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

其他回答

Node.js中有内置的命令行调试器客户端。Cloud9IDE也有非常好的(可视化)调试器。

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

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

我编写了一种不同的方法来调试Node.js代码,它非常稳定且非常简单。可在https://github.com/s-a/iron-node.

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

安装:

npm安装铁节点-g;

调试:

铁节点yourscript.js;

NetBeans IDE从8.1版开始就支持Node.js:

<...>新功能亮点Node.js应用程序开发新建Node.js项目向导新建Node.js Express向导增强的JavaScript编辑器对运行Node.js应用程序的新支持对调试Node.js应用程序的新支持。<...>

其他参考:

NetBeans Wiki/NewAndNoteworthyNB81。NetBeans IDE中的Node.js Express应用程序,Geertjan Oracle。

有很多方法可以调试,但我更喜欢使用内置的调试器(按节点js)。

app.js文件

var fs = require('fs');

fs.readFile('test.txt', 'utf8', function (err, data) {

debugger;

if (err) throw err;

console.log(data); });

命令:node-debug app.js