• node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用提高nodejs调试效率


    在开发或调试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 命令来安装。    
     

    假设你的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
    

      

  • 相关阅读:
    mysql数据库基本类型
    常用辅助类【转】
    Java 并发笔记】并发机制底层实现整理[转发]
    关于PROPAGATION_NESTED的理解
    线程数设置
    c# Expression 扩展[转]
    Net定时器 【转载】
    【转】高可用设计-58沈剑
    【转】委托的三种调用示例(同步调用 异步调用 异步回调)
    [coursera OA] acme match
  • 原文地址:https://www.cnblogs.com/wuxiang/p/4645755.html
Copyright © 2020-2023  润新知