如何调试Node.js服务器应用程序?
现在,我主要使用如下打印语句的警报调试:
sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.js吗?
如何调试Node.js服务器应用程序?
现在,我主要使用如下打印语句的警报调试:
sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.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。
其他回答
有很多可能性。。。
节点包括调试实用程序节点检查器代码编辑器/IDE(请参阅以下调试说明之一)原子VSC代码网络风暴以及更多
调试支持通常使用v8调试协议或较新的Chrome调试协议实现。
我创建了一个名为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
在WebStorm中,您只需打开package.json文件,然后从那里以DEBUG模式运行脚本。只需单击侧面的绿色播放按钮。
带有--检查
如果要在没有IDE的情况下直接从CLI调试应用程序,那么可以运行类似node index.js--inspect的脚本。默认情况下,它将侦听端口5858,允许您连接调试器。或者,您可以使用--inspect=55858指定不同的端口。
带有环境变量
创建一个脚本myInspector.js,如下所示:
let inspector = require("inspector");
// you could explicitly specify a port.
// or alternatively set it to 0 to get any available port.
const port = 0;
inspector.open(port, undefined, true);
// print the url which also reveals the port.
const url = inspector.url()
console.log(url);
设置环境变量NODE_OPTIONS=“--requiremyInspector.js”启动脚本。
事实上,这也是WebStorm注入检查器的方式。美妙之处在于,无论您使用哪种发射器,它都能正常工作。所以你可以跑。。。,节点ts。。。或者甚至使用一些.sh/.bat文件。
使用Chrome版本67.0.3396.62(+)
运行节点应用程序
node--inspect brk=0.0.0.0:9229 server.js(服务器js文件名)
在chrome中浏览应用程序,例如“localhost:port”打开DevTools。单击响应设备图标旁边的节点图标。
将出现另一个DevTools窗口,专门用于调试节点应用程序。
此方法对JS也是有效的。这是您要检查的放置调试器单词。运行JS或Nodejs应用程序时,在浏览器中打开inspect元素。如果到达该行,执行将暂停,如下图所示。