使用supervisor提高nodejs调试效率 (已验证)

  开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一部份,都必须终止Node.js 再重新运行才会奏效。

这是因为 Node.js 只在第一次引用到某部份时才会去解析脚本文件,以后都会直接访问内存,避免重复载入。这种设计虽然

有利于提高性能,却不利于开发调试,因为开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。

  supervisor 可以帮助你实现这个功能,它会监视你对代码的改动,并自动重启 Node.js。

Node.js的编译安装方法见http://www.cnblogs.com/felixzh/p/5822354.html
             使用方法很简单,首先使用 npm 安装 supervisor:

[felix@MyTerminal ~]$ sudo npm install -g supervisor
/usr/local/bin/node-supervisor -> /usr/local/lib/node_modules/supervisor/lib/cli-wrapper.js
/usr/local/bin/supervisor -> /usr/local/lib/node_modules/supervisor/lib/cli-wrapper.js
/usr/local/lib
鈹斺攢鈹€ supervisor@0.11.0

[felix@MyTerminal ~]$ cd /usr/local/bin
[felix@MyTerminal bin]$ ls
c++ gcc gcc-ranlib i686-pc-linux-gnu-g++ i686-pc-linux-gnu-gcc-ar node supervisor
cpp gcc-ar gcov i686-pc-linux-gnu-gcc i686-pc-linux-gnu-gcc-nm node-supervisor
g++ gcc-nm i686-pc-linux-gnu-c++ i686-pc-linux-gnu-gcc-4.8.5 i686-pc-linux-gnu-gcc-ranlib npm
[felix@MyTerminal bin]$


接下来,使用 supervisor 命令启动 app.js:
[felix@MyTerminal bin]$ supervisor app.js
DEBUG: Running node-supervisor with
DEBUG: program 'app.js'
DEBUG: --watch '.'
DEBUG: --extensions 'node|js'
DEBUG: --exec 'node'
DEBUG: Starting child process with 'node app.js'
DEBUG: Watching directory '/home/byvoid/.' for changes.
HTTP server is listening at port 3000.
当代码被改动时,运行的脚本会被终止,然后重新启动。在终端中显示的结果如下:
DEBUG: crashing child
DEBUG: Starting child process with 'node app.js'
HTTP server is listening at port 3000.


supervisor 这个小工具可以解决开发中的调试问题。

原文地址:https://www.cnblogs.com/felixzh/p/5821717.html