截止目前,尚没有IDE完美地集成对Node.js程序的调试支持,因此,对Node.js应用的调试,需要通过其他一些手段或工具实现。
简单粗暴方式
console.log等console对象的日志方式。
进阶
log4js等文件日志方式。
极客方式
类似Firebug等断点调试工具。
以上三种方式各有优劣:
console方式简单、直接,但需要增加额外的代码,在调试结束后还需要删除这些调试代码。log4js完美的结合日志,能够查看到完整的日志数据和错误消息,且无冗余代码,但仍不方便跟踪执行的过程,尤其在日志数据较多时,定位某个具体的问题比较费时费力。而断点方式解决了调试和跟踪的问题,不失为开发、分析源码的利器,但不足是在多cpu情况下需要同时打开多个窗口,才能定位到具体由哪个进程来进行调试。
就第三种方式,说说具体调试的过程:
npm i node-inspector -g
node --debug index
(--debug必须在index前)- 新窗口运行:
node-inspector &
,使用Chrome打开该地址 - 新页面打开需要调试的页面,即可进行调试
其中,node-inspector支持supervisor;cpu多核情况,需要同时打开对应的调试端口地址,实际调试时根据情况选择其中一个进行。
完美。