Node.js热部署代码,实现修改代码后自动重启服务方便实时调试

时间:2022-02-09 21:12:33

写PHP等脚本语言的时候,已经习惯了修改完代码直接打开浏览器去查看最新的效果。而Node.js 只有在第一次引用时才会去解析脚本文件,以后都会直接访问内存,避免重复载入,这种设计虽然有利于提高性能,却不利于开发调试。

在没有使用第三方工具的情况下,通常修改js文件后需要手动CTRL+C终止程序,再重新启动node服务,这显然是一件很繁琐的事情。

于是就出现了很多第三方的管理工具(例如:supervisor、hotnode、forever、pm2等),当文件修改保存后,它能自动重启node服务,帮助开发人员省下了很多繁琐的操作。

下面简单介绍一下使用的方法

supervisor

首先需要使用 npm 安装 supervisor(这里需要注意一点,supervisor必须安装到全局)

$ npm install -g supervisor

Linux 或 Mac用户需要使用管理员权限

sudo npm install -g supervisor

安装完成后就可以用supervisor启动服务了(假设你的Node.js程序主入口是app.js)

$ supervisor app.js

命令行窗口会显示启动成功信息,并开始代码监听,当代码被修改之后,运行的脚本会被终止,自动重新启动。

PS: express 4.x把用于项目启动的代码移到了./bin/www的文件,如需使用supervisor 启动express项目请使用下面的命令

supervisor bin/www

supervisor还有很多强大的功能,本人只是简单的介绍了如何在开发环境监听文件变化,自动重启服务方便调试应用程序的使用方法,对supervisor感兴趣的同学可以访问github地址了解更多详情:https://github.com/isaacs/node-supervisor