2017.05.08更新:

在最新的Chrome浏览器(58.0.3029.81)中,已经直接支持了Node.js调试,不再需要node-inspector。

启动app时加 --inspect 参数即可,命令及控制台输出如下:

1
node --inspect app.js

1
2
3
4
5
$ node --inspect server/app.js
Debugger listening on port 9229.
Warning: This is an experimental feature and could change at any time.
To start debugging, open the following URL in Chrome:
chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/5cc80a89-b5a8-4012-85ff-afdc36060329

复制上面的地址(chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/5cc80a89-b5a8-4012-85ff-afdc36060329)并在浏览器地址栏中输入,即可打开调试窗口。

===================== 我 是 分 割 线 ========================

最近写了一点 Node.js ,感觉 console.log 的方式调试实在困难,发现了一个很好用的工具 : node-inspector

安装

1
npm install -g node-inspector

启动

可以直接执行 node-inspector

1
node-inspector

默认会监听8080端口,如果提示被占用了,可以使用 –web-port (web 前应有2个”-“ )参数来修改。

1
node-inspector --web-port = 8888

启动成功后会有类似如下的提示:
1
http://127.0.0.1:8080/debug?port=5858 to start debugging.

调试程序

在启动 node 程序时加入 debug 参数即可,如下两种方式均可,其中 “= 3900” 端口号可省略。

1
node --debug=3900 app.js
1
node --debug-brk=3900 app.js

在浏览器中打开 http://127.0.0.1:8080/debug?port=5858 即可看到调试窗口,主要功能和 chrome 的开发者工具基本一致。