`
天梯梦
  • 浏览: 13630126 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

Node.js web应用模块之Supervisor

 
阅读更多

在开发或调试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 HTTP模块、URL模块 supervisor工具1

    一、Node.js 创建第一个应用1 一、Node.js 创建第一个应用 三、Nodejs 自启动工具 supervisor

    02 Node.js HTTP模块、URL模块 supervisor工具1

    3.运行程序 1. 首先安装 supervisor 2. 使用 supervisor 代替 node 命令启动应用

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

    在开发或调试Node.js应用程序的时候,当...Node Supervisor正是这样一个可以实现这种需求的Node.js模块。 根据Github上的说明,Node Supervisor原本是用于服务器上Node.js应用崩溃的时候,自己重新启动。当然它也可以监

    Node.jsWeb应用代码热更新的另类思路

    相信使用Node.js开发过Web应用的同学一定苦恼过新修改的代码必须要重启Node.js进程后才能更新的问题。习惯使用PHP开发的同学更会非常的不适用,大呼果然还是我大PHP才是世界上最好的编程语言。手动重启进程不仅仅是...

    Node.js巧妙实现Web应用代码热更新

    相信使用 Node.js 开发过 Web 应用的同学一定苦恼过新修改的代码必须要重启 Node.js 进程后才能更新的问题。习惯使用 PHP 开发的同学更会非常的不适用,大呼果然还是我大PHP才是世界上最好的编程语言。手动重启进程...

    一起学 Node.js

    Node.js 的安装与使用 安装 Node.js n 和 nvm nrm MongoDB 的安装与使用 安装与启动 MongoDB Robomongo 和 MongoChef Node.js 知识点讲解 require exports 和 module.exports Promise 环境变量 packge.json semver ...

    针对node.js框架编写的游戏服务器总框架(全开源)

    windows下可运行; node 运行 index.js 或则 支持调试 supervisor index.js 基本设计到游戏服务器 http 方式可用,部分数据文件和数据库自定义

    Node.js使用supervisor进行开发中调试的方法

    如果你有 PHP 开发经验,会习惯在修改 PHP 脚本直接刷新浏览器以查看结果,而你 在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一个部分,都必须终止Node.js然后重新运行。 这是因为 Node.js 只有在第...

    在Node.js中看JavaScript的引用

    早期学习Node.js的时候(2011-2012),有挺多是从 ...node-supervisor这个模块来启动项目,可以编辑完代码之后自动重启。不过相对于PHP而言依旧不够方便,因为 Node.js在重启以后,之前的上下文都丢失了。

    myblog:基于node.js的微博博客应用

    基于node.js的微博博客应用 该例子是参照 进行编写的,代码都来自上述地址 主要实现的功能:用户注册、登录、退出、个人主页、发表文章、文章详情页、留言、删除留言 运行程序之前: npm install 安装所需要的包 ...

    Node.js的Http模块和Url模块的介绍和使用及通过supervisor实现自启动

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境(runtime) 使用了一个事件驱动 非阻塞式I/O的模型 使其轻量又高效 它使JavaScript可以开发后端程序 从而实现几乎其他后端语言能实现的所有功能 二、安装及准备 ...

    Node.js中看JavaScript的引用

    早期学习 Node.js 的时候 (2011-2012),有挺多是从 PHP 转过来的,当时有部分人对于 Node.js 编辑完代码需要重启一下表示麻烦(PHP不需要这个过程),于是社区里的朋友就开始提倡使用 node-supervisor 这个模块来...

    perfmjs-node:用于 Node.js 的 perfmjs(高性能 javascript 框架)

    perfmjs(high performance javascript framework) for Node.js V1.4.2 Features: fast by default:高效,易用,易读 实现了异步编程模块(Promises/A+)规范 原生态支持面向对象(object-oriented)功能 更高效的插件...

    node-dev:重新启动Node.JS进行文件修改

    每当监视文件之一发生更改时, node-dev将重新运行app.js 该模块基于inotify。 因此,与大多数此类其他模块不同,它会自动开始监视新文件。 许多其他选项使该模块真正具有灵活性和可扩展性。 安装 npm install dev...

    SSNoC-Node:芯片项目上可生存社交网络的 Node.js 前端接口项目

    安装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

    OrgChart:用 Node.js 编码的组织结构图项目分配

    Node.js + Express 作为后端,SQLite 作为 DB,Angular 作为前端技术。 如何运行: 安装 Node.js 和 NPM 从 OrgChart 目录运行npm install 运行npm start 应用程序现在应该运行在:127.0.0.1:3000/company 注意...

    elixir-nodejs:用于调用Node.js函数的Elixir API

    先决条件长生不老药&gt; = 1.7 NodeJS&gt; = 10安装def deps do [ { :nodejs , " ~&gt; 2.0 " } ]end启动服务将NodeJS作为孩子添加到您的Supervisor中,将所需的path选项指向包含JavaScript模块的目录。 supervisor ( NodeJS ...

    利用PM2部署node.js项目的方法教程

    下面本文将详细介绍利用PM2部署node.js项目的方法教程,需要的朋友们下面来一起看看详细的介绍: 使用场合: supervisor是开发环境用。 forever管理多个站点,每个站点访问量不大,不需要监控。 pm2 网站访问量...

Global site tag (gtag.js) - Google Analytics