在node.js中,调试的时候,无论修改了代码的哪一部分,都需要重启Node.js服务之后才能生效。这是因为 Node.js 只有在第一次引用到某部份时才会去解析脚本文件,以后都会直接访问内存,避免重复载入。Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。
supervisor可以监测文件修改,并自动重启Node服务器。这样修改后就能立即看到效果了。
supervisor建议安装到全局环境。
npm -g install supervisor
安装完成之后就可以使用supervisor来启动服务了。
supervisor app.js
要监控的文件夹或js文件,默认为’.’:
-w|--watch <watchItems>
要忽略监控的文件夹或js文件:
-i|--ignore <ignoreItems>
监控文件变化的时间间隔(周期),默认为Node.js内置的时间:
-p|--poll-interval <milliseconds>
要监控的文件扩展名,默认为’node|js’:
-e|--extensions <extensions>
要执行的主应用程序,默认为’node’:
-x|--exec <executable>
开启debug模式(用–debug flag来启动node):
--debug
安静模式,不显示DEBUG信息:
-q|--quiet
实现同样功能的类似产品还有 forever , nodemon , node-dev , PM2 等。