Node调试方法

console.log?怎么能连最基本的调试技能都没有呢?简单介绍几个Node的调试技巧。

服务端的Node如何才能进行调试呢?以下面一段简单的代码为例子,介绍几种Node的调试方法

var http = require('http'),server = http.createServer();

server.on('request',function(req,res){
    res.writeHead(200,{'Content-Type':'application/json;charset=utf-8'});
    res.end('res end');
}).listen(8088);

一、内置debug

nodejs内部提供一个debug机制,可以让程序进入debug模式,供开发者逐行分析代码

其中有三种带参方式:

node debug app.js
node --debug app.js
node --debug -brk app.js

这三种其实是有区别的:

node debug app.js

使用这种方式启动程序,程序会进入debug模式,并运行到文件的第1行就停止,等待下发命令。

node –debug app.js

使用这种方式启动程序,程序会进入debug模式,并运行完所有代码。这种启动方式往往用于程序启动的过程中不需要调试,通过触发事件进入回调函数的情况,比如执行到debugger。

node –debug -brk app.js

使用这种方式启动程序,程序会进入debug模式,但是不会运行代码,直到有一个终端连接到了debug端口,才开始执行代码,并在第一行进入断点。

正常输入node debug test,在命令行中有以下提示

《Node调试方法》

再输入node –debug test,发现无法使用,提示其他方式代替。

《Node调试方法》

看了下,当前版本号是v8.9.1。

又不想把版本退回去,看来这个内置的功能以后是使用不到了。

那么,Node调试方法的详细操作也没必要说了。更多的可以参考NodeJS官方文档

二、node-inspect+chrome

在前面的调试中,也建议使用node-inspect的方式调试Node代码了,于是,使用这种方式。

《Node调试方法》

在浏览器中输入对应的IP地址,再在控制台上点击Node的图标,DevTools就弹出来了,调试方式和前端的JS调试一样。

新版本的chrome和新版本的Node之间通过WebSockets 通信,来方便方便我们的调试。Node版本6.3+,chrome版本55+。

三、node-inspector+chrome

node-inspector的和node-inspect的使用方式相同,这儿就不多说了。

四、其他方式

什么Eclipse、WebStorm、VSCode都是可以调试Node的,不过,我还是青睐轻量的编辑器,所以也不多说了。

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...