如何调试Node.js服务器应用程序?
现在,我主要使用如下打印语句的警报调试:
sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.js吗?
如何调试Node.js服务器应用程序?
现在,我主要使用如下打印语句的警报调试:
sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.js吗?
当前回答
我将选择Visual Studio代码进行调试。没有安装任何工具或npm安装工具的开销。只需在package.json中设置应用程序的起点,VSCode就会自动在解决方案中创建一个配置文件。它是建立在Electron之上的,像Atom这样的编辑器都是建立在该之上的。
VS Code提供了与您可能拥有的类似的调试经验在其他IDE中,如VS、Eclipse等。
其他回答
我创建了一个名为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()
有很多可能性。。。
节点包括调试实用程序节点检查器代码编辑器/IDE(请参阅以下调试说明之一)原子VSC代码网络风暴以及更多
调试支持通常使用v8调试协议或较新的Chrome调试协议实现。
使用此命令
DEBUG_LEVEL=all node file.js
DEBUG=* node file.js
node file.js --inspect
自6.3版起,Node拥有自己的内置GUI调试器(使用Chrome的DevTools)
只需传递检查器标志,就会向您提供一个指向检查器的URL:
node --inspect server.js
您也可以在第一行通过--inspect brk。
有很多方法可以调试,但我更喜欢使用内置的调试器(按节点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