`
天梯梦
  • 浏览: 13729587 次
  • 性别: 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巧妙实现Web应用代码热更新

    在Node.js中开发Web应用程序时,经常会遇到一个问题:每当代码有改动,必须重启Node.js进程才能看到更新。这对于习惯了PHP等支持热更新语言的开发者来说,无疑增加了开发过程的繁琐性。然而,作为高效的开发工具,...

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

    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,让JavaScript代码能够运行在服务器端,广泛用于构建高并发的网络应用。本文将详细讲解如何在Linux系统中搭建Node.js开发环境的步骤。 首先,Linux系统中安装...

    node.js不得不说的12点内容

    Node.js是服务器端JavaScript的运行环境,它允许开发者在服务器端使用JavaScript编写应用程序。Node.js基于Google Chrome的V8引擎,因此在性能上非常出色,是目前世界上最快的JavaScript引擎。Node.js的出现,打破了...

    Node.js中看JavaScript的引用

    在标题和描述中提到的“Node.js中看JavaScript的引用”实际上是指在Node.js中如何处理模块的加载和更新,特别是如何实现在不重启Node.js服务的情况下热更新代码。 在传统的开发流程中,修改了JavaScript代码后,...

    nodejs文档.pdf

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它允许开发者使用 JavaScript 编写服务器端应用程序。Node.js 提供了一个高效的、非阻塞I/O模型,非常适合构建实时、数据密集型的网络应用。以下是关于 ...

    nodejs开发环境配置与使用

    Node.js开发环境配置与使用涉及到一系列的知识点,包括Node.js的基础概念、开发环境的搭建、常用命令的使用,以及如何利用Node.js平台搭建Web应用。以下将详细介绍这些知识内容。 首先,Node.js不是一个编程语言,...

    npm工具包介绍.zip

    npm工具包是Node.js生态系统中的重要组成部分,它提供了一个便捷的方式来管理和分享JavaScript模块。本压缩包文件"npm工具包介绍.zip"包含了一系列介绍npm上流行工具的文本资料,以下是对这些工具的详细解读: 1. *...

    Nodejs初级阶段之express

    Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供了一系列强大的特性,帮助开发者快速构建从单一页面应用到复杂的 web 应用。Express 使得构建 web 服务变得更加简单,它支持多种模板引擎,...

    nodejs 图解express+supervisor+ejs的用法(推荐)

    在Node.js开发Web应用时,Express是一个非常流行的框架,它提供了简洁的API来帮助开发者快速构建服务器端应用。Express基于Connect库,使得构建HTTP服务器变得更加简单。在本教程中,我们将探讨如何结合Supervisor和...

    express+mongoose,操作mongo数据的命令语句,以及前后端分离及调用接口的效果展示

    在Node.js环境下,有两种常见的Web服务器开发方式: 1. **原生Node.js**:通过Node.js内置的`http`模块来创建服务器。这种方式更底层,灵活性高,但同时也意味着开发者需要手动处理更多细节,例如HTTP请求和响应的...

    node+express制作爬虫教程

    Express 是一个基于 Node.js 平台的 web 开发框架,它提供了一系列强大的功能,简化了构建 web 应用的过程。结合 Node.js 和 Express,我们可以轻松创建一个能够抓取和处理网络数据的爬虫程序。 **什么是爬虫?** ...

    Waglys-Supervisor-Extension:Waglys的脚本,具有主管的扩展功能

    在JavaScript的世界里,这样的扩展通常会利用Node.js环境运行,因为Node.js允许在服务器端执行JavaScript,提供了丰富的模块和库支持。例如,它可能使用npm(Node Package Manager)来管理依赖,使用Express框架来...

    nodejs教程之制作一个简单的文章发布系统

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它允许开发者使用 JavaScript 来编写服务器端代码。MongoDB 是一种文档型数据库,其以易于使用的存储方式著称,能够存储 JSON 类型格式的文档。本文介绍...

    treetracker-web-map-api:包含影响面板视图的网络地图

    Tree Tracker Web地图(后端-API) 该项目是使用Node.js版本12.19.0构建的。 项目知识库: : 要求Node.js 12后端开发要为后端开发设置环境,请执行以下步骤: 注意:我们建议所有这些任务都可以使用Visual Studio ...

    tim-react-app

    接着,`supervisor`是一个Node.js模块,它提供了自动重启应用程序的功能,每当源代码发生变化时,都会自动重新编译并运行项目,极大地提高了开发效率。`-i client server`参数表示监控的文件目录,意味着当`client`...

Global site tag (gtag.js) - Google Analytics