当前位置: 首页 > 编程笔记 >

node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用

沈成天
2023-03-14
本文向大家介绍node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用,包括了node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用的使用技巧和注意事项,需要的朋友参考一下

在开发或调试Node.js应用程序的时候,当你修改js文件后,总是要按下CTRL+C终止程序,然后再重新启动,即使是修改一点小小的参数,也总是要不断地重复这几个很烦人的操作。有没有办法做到当文件修改之后,Node.js自动重新启动(或重新加载文件)以节省时间呢?一开始我是想到用grunt的watch模块来监控文件变化,但后来在网上一查,原来我们想到的,别人早已想到,并且已经做得很好。Node Supervisor正是这样一个可以实现这种需求的Node.js模块。

根据Github上的说明,Node Supervisor原本是用于服务器上Node.js应用崩溃的时候,自己重新启动。当然它也可以监控你的项目的js(或CoffeeScript)文件变化,进而重启来方便我们调试应用程序。

安装方法(以全局模块安装):


npm install supervisor -g

假设你的Node.js程序主入口是app.js,那么只需要执行以下命令,即可开始监控文件变化。


supervisor app.js

Supervisor还支持多种参数,列举如下:


//要监控的文件夹或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

例子:


supervisor myapp.js

supervisor -w py_scripts -e 'py' -x python myapp.py

supervisor -w lib, server.js, config.js, server.js

实现同样功能的类似产品还有Run.js和Nodeman,这两个我都没用过。但是从文档上来看,前者和Supervisor一样都是极简的5分钟就可以上手的那种,功能比Supervisor稍弱;后者的feature比较多,对应的文档就特别长,估计要研究透也得至少半个小时。选择哪一个,全看项目需求和个人喜好。

 类似资料:
  • 本文向大家介绍PHP实现抓取Google IP并自动修改hosts文件,包括了PHP实现抓取Google IP并自动修改hosts文件的使用技巧和注意事项,需要的朋友参考一下 无聊中居然又找到个php版本的抓取google hosts的文件,试了下还可以用,ping了下ip,延迟也不是很高,网页打开测试了下速度也很快,大家有兴趣的话可以试试. 自动更新hosts文件, 不覆盖已存在的记录,方便使用

  • 本文向大家介绍node.js开机自启动脚本文件,包括了node.js开机自启动脚本文件的使用技巧和注意事项,需要的朋友参考一下

  • 本文向大家介绍Shell脚本实现监控kingate并自动启动,包括了Shell脚本实现监控kingate并自动启动的使用技巧和注意事项,需要的朋友参考一下 自己在vps做的kingate服务端,估计最近占用流量太大了,老是被服务商把我vps重启,但kingate这个东西是一旦被强制结束掉,是无法开机启动的,因为要把kingate.pid这个文件删除了才能启动,好吧,对于我们这样的懒人来说,当然不能

  • 当然,有关标准的事物是如此之多。有时每个应用程序的配置格式都略有不同, 书写正则表达式来解析和修改所有这些配置文件是一项很烦人的工作。 幸好 Augeas 在这方面可以帮助我们。Augeas 是一个旨在简化使用不同配置文件格式工作的工具, 它将不同格式的配置文件统一呈现为一个简单的包含所有配置项的树状结构。 Puppet 的 Augeas 支持允许你创建 augeas 资源,它可以智能地自动地为所

  • 问题内容: 我正在尝试编写一个node.js脚本,该脚本监视文件目录中的更改,然后打印更改的文件。如何修改此脚本,以便它监视目录(而不是单个文件),并在更改文件时显示目录中的文件名? 问题答案: 试试Chokidar: Chokidar仅使用fs即可查看文件,从而解决了一些跨平台问题。

  • 问题内容: 我有一个看起来像这样的文本文件: 我想使用node.js将每行的开头替换为“ myString”。因此,每个最终看起来像: 我正在尝试使用正则表达式,但是我怀疑可以使用读取和写入流来完成。 哪种正则表达式将起作用,或者使用node编辑此文件的最佳方法是什么? 问题答案: 根据您的需要,这是“同步”或“异步”的两个选项。