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比较多,对应的文档就特别长,估计要研究透也得至少半个小时。选择哪一个,全看项目需求和个人喜好。

时间: 2024-12-03 23:17:15

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

Node.js开发教程之基于OnceIO框架实现文件上传和验证功能_node.js

OnceIO 是 OnceDoc 企业内容(网盘)的底层Web框架,它可以实现模板文件.静态文件的全缓存,运行起来完全不需要I/O操作,并且支持客户端缓存优化,GZIP压缩等(只在第一次压缩),拥有非常好的性能,为您节约服务器成本.它的模块化功能,可以让你的Web进行分布式存储,即一个扩展包里即包含前端.后端和数据库定义,只需通过添加/删除目录的方式就可实现功能删减,实现真正的模块化扩展.这里是介绍如何使用OnceIO的一系列文章. 在这一章节中,我们将为大家演示如何使用 OnceIO 实现文件

node js webstorm-webstorm中的node.js问题,求解!!!

问题描述 webstorm中的node.js问题,求解!!! 创建新工程时,出现的..

在Linux系统中搭建Node.js开发环境的简单步骤讲解_node.js

1. Linux安装node.js ubuntu: sudo apt-get install nodejs npm centos: yum install nodejs npm 更详细的安装参见:https://github.com/joyent/node/wiki/Installation npm为类似PHP中Pear的包管理器 2. 开始使用node.js 用文本编辑器新建hello.js写入以下内容 console.log('hello world'); 打开命令行输入 $ node he

Ubuntu 16.04 64位中搭建Node.js开发环境教程_node.js

前言 首先说下本文的系统环境是:Ubuntu 16.04 64位,本文内容亲测可用, 大家可以请放心借鉴参考,下面来一起看看详细的步骤. 使用淘宝镜像 淘宝镜像官网是https://npm.taobao.org/ 使用淘宝镜像前请自行安装好 npm 和 node node 和 npm 的安装 node可以在这里下载 本文使用的是官方推荐v4.4.4长期支持版 下载并解压 node-v4.4.4-Linux-x64.tar.xz tar -xJf node-v4.4.4-linux-x64.tar

《node.js开发指南》观后感

最近在当当网上买了一本<node.js开发指南>,从学习node.js到现在看的第一本中文教程,也算献出了自己处子之身啊,哈哈.前后大约花了4,5个小时通读了node.js部分,附录部分只是略过了,谈一下感想把. 1.本书的定位: 就像书中的前言部分所述,确实是针对node.js还未入门的初学者准备的,但是有一个前提,如果之前没写过像php等后端的语言读本书可能有点迷茫.所以本书的定位人群应该是对后端脚本语言有过一定开发经验,并且熟悉javascript语法的人. 2.本书的组成部分: 个人感

使用Node.js开发一个基于JavaScript的RESTful应用

REST 风格几乎是为 HTTP 协议量身定做的,在 HTTP 协议中用 URI 来标识唯一的资源,用 GET.PUT.POST.DELETE 等动词来操作资源,HTTP 协议是无状态协议,可以通过 Cache 来提高性能.本文将使用 http://www.aliyun.com/zixun/aggregation/13375.html">Node.js 开发一个基于 JavaScript 的 RESTful 应用. 在 Web2.0 盛行的今天,作为一种可以运行在浏览器客户端的轻量级脚本语

node.js 开发指南 – Node.js 连接 MySQL 并进行数据库操作_node.js

Node.js是一套用来编写高性能网络服务器的JavaScript工具包   通常在NodeJS开发中我们经常涉及到操作数据库,尤其是 MySQL ,作为应用最为广泛的开源数据库则成为我们的首选,本篇就来介绍下如何通过NodeJS来操作 MySQL 数据库. 安装MySQL模块到NodeJS中 我们需要让NodeJS支持MySQL,则需要将MySQL模块添加到系统支持库   想要快速了解Node.js ,赞生推荐亲看看 node.js_guide.pdf  - node.js 开发指南 :想要电

Node.js开发Web后台服务

一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.js 的包管理器 npm,是全球最大的开源库生态系统. 能方便地搭建响应速度快.易于扩展的网络应用,Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用. 官网:https://nodejs.org/en/中文:https://cnode

在Node.js应用中读写Redis数据库的简单方法

  这篇文章主要介绍了在Node.js应用中读写Redis数据库的简单方法,Redis是一个内存式高速数据库,需要的朋友可以参考下 在开始本文之前请确保安装好 Redis 和 Node.js 以及 Node.js 的 Redis 扩展 -- node_redis 首先创建一个新文件夹并新建文本文件 app.js 文件内容如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 var redis = require("redis") ,