如何调试Node.js服务器应用程序?
现在,我主要使用如下打印语句的警报调试:
sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.js吗?
如何调试Node.js服务器应用程序?
现在,我主要使用如下打印语句的警报调试:
sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.js吗?
当前回答
有很多方法可以调试,但我更喜欢使用内置的调试器(按节点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
其他回答
自6.3版起,Node拥有自己的内置GUI调试器(使用Chrome的DevTools)
只需传递检查器标志,就会向您提供一个指向检查器的URL:
node --inspect server.js
您也可以在第一行通过--inspect brk。
IntelliJ在Node.js上运行得很好。
此外,IntelliJ还支持“代码协助”。
我个人使用JetBrains WebStorm,因为它是我发现的唯一一个适用于前端和后端JavaScript的JavaScript IDE。
它可以在多个操作系统上运行,内置Node.js调试(以及大量其他功能)(http://www.jetbrains.com/webstorm/features/index.html).
我唯一的“问题”/愿望列表项目是:
在Mac上,它似乎比Windows更需要资源。在版本6中,它似乎不再是一个问题。如果它有Snippet支持(就像Sublime Text 2一样),那就太好了。比如,键入“fun”并点击“tab”以放入一个函数。请参阅下面的@WickyNilliams评论-使用Live模板,您也可以支持Snippet。
节点检查器可以节省一天!从任何支持WebSocket的浏览器使用它。断点、分析器、实时编码等……真是太棒了。
安装时使用:
npm install -g node-inspector
然后运行:
node-debug app.js
Node.js中有内置的命令行调试器客户端。Cloud9IDE也有非常好的(可视化)调试器。