如何调试Node.js服务器应用程序?
现在,我主要使用如下打印语句的警报调试:
sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.js吗?
如何调试Node.js服务器应用程序?
现在,我主要使用如下打印语句的警报调试:
sys.puts(sys.inspect(someVariable));
必须有更好的调试方法。我知道Google Chrome有一个命令行调试器。这个调试器也适用于Node.js吗?
当前回答
节点检查器可以节省一天!从任何支持WebSocket的浏览器使用它。断点、分析器、实时编码等……真是太棒了。
安装时使用:
npm install -g node-inspector
然后运行:
node-debug app.js
其他回答
调试Node.JS应用程序的方法如下:
1) 安装devtool并用它启动应用程序
npm install devtool -g --save
devtool server.js
这将在chrome开发人员模式下打开,因此您可以放置调试器点并进行测试。
2) 使用节点检查器进行调试
node-inspector
3) 使用--debug调试
node --debug app.js
使用--inspect标志启动节点进程。
node--检查index.js
然后打开chrome://inspect镀铬。单击“Open dedicated DevTools for Node”链接或安装此chrome扩展以轻松打开chrome DevTools。
有关详细信息,请参阅此链接
使用此命令
DEBUG_LEVEL=all node file.js
DEBUG=* node file.js
node file.js --inspect
使用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文件。
Node.js中有内置的命令行调试器客户端。Cloud9IDE也有非常好的(可视化)调试器。