截止目前,尚没有IDE完美地集成对Node.js程序的调试支持,因此,对Node.js应用的调试,需要通过其他一些手段或工具实现。

简单粗暴方式

console.log等console对象的日志方式。

进阶

log4js等文件日志方式。

极客方式

类似Firebug等断点调试工具。

以上三种方式各有优劣:

console方式简单、直接,但需要增加额外的代码,在调试结束后还需要删除这些调试代码。log4js完美的结合日志,能够查看到完整的日志数据和错误消息,且无冗余代码,但仍不方便跟踪执行的过程,尤其在日志数据较多时,定位某个具体的问题比较费时费力。而断点方式解决了调试和跟踪的问题,不失为开发、分析源码的利器,但不足是在多cpu情况下需要同时打开多个窗口,才能定位到具体由哪个进程来进行调试。

就第三种方式,说说具体调试的过程:

  1. npm i node-inspector -g
  2. node --debug index(--debug必须在index前)
  3. 新窗口运行:node-inspector &,使用Chrome打开该地址
  4. 新页面打开需要调试的页面,即可进行调试

其中,node-inspector支持supervisor;cpu多核情况,需要同时打开对应的调试端口地址,实际调试时根据情况选择其中一个进行。

完美。