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

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

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

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


当前回答

我最初的反应是几年前的预视工作室。

因此,hapi使用GOOD是一个很棒的日志记录包,但要进行调试,请使用visual studio。

最初的回应(很久以前):我会使用沃尔玛实验室的GOOD。它可以完成任务,而且非常灵活:

var hapi = require('hapi');
var good = require('good');
var server = hapi.createServer('localhost', 5000,{});
server.route({SOME ROUTE HERE});
server.start();

var options = {
subscribers: {
    'console':               ['ops', 'request', 'log', 'error'],
    'http://localhost/logs': ['log']
    }
};
server.pack.require('good', options, function (err) {

    if (!err) {
        console.log('Plugin loaded successfully');
    }
});

其他回答

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

有很多可能性。。。

节点包括调试实用程序节点检查器代码编辑器/IDE(请参阅以下调试说明之一)原子VSC代码网络风暴以及更多

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

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

如果您需要Node.js的强大日志库,Tracerhttps://github.com/baryon/tracer是更好的选择。

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

节点检查器可以节省一天!从任何支持WebSocket的浏览器使用它。断点、分析器、实时编码等……真是太棒了。

安装时使用:

npm install -g node-inspector

然后运行:

node-debug app.js