在开发或调试Node.js应用程序的时候,当你修改js文件后,总是要按下CTRL+C终止程序,然后再重新启动,即使是修改一点小小的参数,也 总是要不断地重复这几个很烦人的操作。这是因为Node.js 只有在第一次引用到某部份时才会去解析脚 本文件,以后都会直接访问内存,避免重复载入。
Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。
有没有办法做到当文件修改之后,Node.js自动重新启动(或重新加载文件)以节省时间呢?一开始我是想到用 grunt的watch模块来监控文件变化,但后来在网上一查,原来我们想到的,别人早已想到,并且已经做得很好。Node Supervisor正是这样一个可以实现这种需求的Node.js模块。
supervisor 可以帮助你实现这个功能,它会监视你对代码的改动,并自动重启Node.js。 根据Github上的说明,Node Supervisor原本是用于服务器上Node.js应用崩溃的时候,自己重新启动。当然它也可以监控你的项目的js(或CoffeeScript)文 件变化,进而重启来方便我们调试应用程序。
安装方法(以全局模块安装):
代码如下
npm install supervisor -g
如果你使用的是Linux 或Mac,直接键入上面的命令很可能会有权限错误。原因是npm 需要把supervisor 安装到系统目录,需要管理员授权,
可以使用 sudo npm install -g supervisor 命令来安装。
注意一点的就是,supervisor必须安装到全局,如果你不安装到全局,错误命令会提示你安装到全局。如果不想安装到默认的全局,也可以自己 修改全局路径到当前路径 npm config set prefix "路径"
假设你的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
本文转自:Node.js web应用模块之Supervisor
相关推荐
一、Node.js 创建第一个应用1 一、Node.js 创建第一个应用 三、Nodejs 自启动工具 supervisor
3.运行程序 1. 首先安装 supervisor 2. 使用 supervisor 代替 node 命令启动应用
在开发或调试Node.js应用程序的时候,当...Node Supervisor正是这样一个可以实现这种需求的Node.js模块。 根据Github上的说明,Node Supervisor原本是用于服务器上Node.js应用崩溃的时候,自己重新启动。当然它也可以监
相信使用Node.js开发过Web应用的同学一定苦恼过新修改的代码必须要重启Node.js进程后才能更新的问题。习惯使用PHP开发的同学更会非常的不适用,大呼果然还是我大PHP才是世界上最好的编程语言。手动重启进程不仅仅是...
相信使用 Node.js 开发过 Web 应用的同学一定苦恼过新修改的代码必须要重启 Node.js 进程后才能更新的问题。习惯使用 PHP 开发的同学更会非常的不适用,大呼果然还是我大PHP才是世界上最好的编程语言。手动重启进程...
Node.js 的安装与使用 安装 Node.js n 和 nvm nrm MongoDB 的安装与使用 安装与启动 MongoDB Robomongo 和 MongoChef Node.js 知识点讲解 require exports 和 module.exports Promise 环境变量 packge.json semver ...
windows下可运行; node 运行 index.js 或则 支持调试 supervisor index.js 基本设计到游戏服务器 http 方式可用,部分数据文件和数据库自定义
如果你有 PHP 开发经验,会习惯在修改 PHP 脚本直接刷新浏览器以查看结果,而你 在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一个部分,都必须终止Node.js然后重新运行。 这是因为 Node.js 只有在第...
早期学习Node.js的时候(2011-2012),有挺多是从 ...node-supervisor这个模块来启动项目,可以编辑完代码之后自动重启。不过相对于PHP而言依旧不够方便,因为 Node.js在重启以后,之前的上下文都丢失了。
基于node.js的微博博客应用 该例子是参照 进行编写的,代码都来自上述地址 主要实现的功能:用户注册、登录、退出、个人主页、发表文章、文章详情页、留言、删除留言 运行程序之前: npm install 安装所需要的包 ...
Node.js是一个基于Chrome V8引擎的JavaScript运行环境(runtime) 使用了一个事件驱动 非阻塞式I/O的模型 使其轻量又高效 它使JavaScript可以开发后端程序 从而实现几乎其他后端语言能实现的所有功能 二、安装及准备 ...
早期学习 Node.js 的时候 (2011-2012),有挺多是从 PHP 转过来的,当时有部分人对于 Node.js 编辑完代码需要重启一下表示麻烦(PHP不需要这个过程),于是社区里的朋友就开始提倡使用 node-supervisor 这个模块来...
perfmjs(high performance javascript framework) for Node.js V1.4.2 Features: fast by default:高效,易用,易读 实现了异步编程模块(Promises/A+)规范 原生态支持面向对象(object-oriented)功能 更高效的插件...
每当监视文件之一发生更改时, node-dev将重新运行app.js 该模块基于inotify。 因此,与大多数此类其他模块不同,它会自动开始监视新文件。 许多其他选项使该模块真正具有灵活性和可扩展性。 安装 npm install dev...
安装Install Node.js from http://nodejs.org/git clone https://github.com/cmusv-fse/SSNoC-Node-UIsudo npm install -g expresssudo npm installsudo npm install -g supervisor运行服务器sudo
Node.js + Express 作为后端,SQLite 作为 DB,Angular 作为前端技术。 如何运行: 安装 Node.js 和 NPM 从 OrgChart 目录运行npm install 运行npm start 应用程序现在应该运行在:127.0.0.1:3000/company 注意...
先决条件长生不老药> = 1.7 NodeJS> = 10安装def deps do [ { :nodejs , " ~> 2.0 " } ]end启动服务将NodeJS作为孩子添加到您的Supervisor中,将所需的path选项指向包含JavaScript模块的目录。 supervisor ( NodeJS ...
下面本文将详细介绍利用PM2部署node.js项目的方法教程,需要的朋友们下面来一起看看详细的介绍: 使用场合: supervisor是开发环境用。 forever管理多个站点,每个站点访问量不大,不需要监控。 pm2 网站访问量...