Node.js使用supervisor遭遇‘supervisor’不是内部或外部命令,如果解决?

简介: 如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你 在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一部份,都必须终止 Node.js 再重新运行才会奏效。

如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你 在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一部份,都必须终止 Node.js 再重新运行才会奏效。这是因为 Node.js 只有在第一次引用到某部份时才会去解析脚 本文件,以后都会直接访问内存,避免重复载入,而 PHP 则总是重新读取并解析脚本(如 果没有专门的优化配置)。Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因 为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。

supervisor 可以帮助你实现这个功能,它会监视你对代码的改动,并自动重启 Node.js。 使用方法很简单,首先使用 npm 安装 supervisor:

$ npm install -g supervisor

如果你使用的是 Linux 或 Mac,直接键入上面的命令很可能会有权限错误。原因是 npm 需要把 supervisor 安装到系统目录,需要管理员授权,可以使用 sudo npm install -g supervisor 命令来安装。

接下来,使用 supervisor 命令启动 app.js: $ supervisor app.js

DEBUG: Running node-supervisor with
DEBUG:   program 'app.js'
DEBUG:  --watch '.' DEBUG:  --extensions 'node|js' DEBUG:  --exec 'node' DEBUG: Starting child process with 'node app.js' DEBUG: Watching directory '/home/byvoid/.' for changes. HTTP server is listening at port 3000. 

当代码被改动时,运行的脚本会被终止,然后重新启动。在终端中显示的结果如下:

DEBUG: crashing child
DEBUG: Starting child process with 'node app.js'
HTTP server is listening at port 3000. 

supervisor 这个小工具可以解决开发中的调试问题。

 

相关文章
|
2月前
node的私服中Verdaccio主要命令
node的私服中Verdaccio主要命令
24 1
|
2月前
|
JavaScript 前端开发 程序员
node.js这些常用命令,你都会了吗?
本文介绍了Node.js和npm的常用命令。在npm方面,包括安装、卸载、更新包,初始化项目,运行脚本等;在Node.js方面,涉及运行JavaScript文件、启用调试模式和查看版本信息等。掌握这些基础命令对于日常开发至关重要。
20 0
|
5月前
|
Ubuntu
node、npm 命令升级
node、npm 命令升级
|
4月前
|
JavaScript
node.js 项目中执行 npm install 命令后看到的 idealTree inflate 的含义
node.js 项目中执行 npm install 命令后看到的 idealTree inflate 的含义
220 0
|
JavaScript 数据库 Windows
nodejs 将node命令启动为windows服务运行(node-windows使用)
nodejs 将node命令启动为windows服务运行(node-windows使用)
nodejs 将node命令启动为windows服务运行(node-windows使用)
|
1月前
|
监控 JavaScript 前端开发
node.js常用的命令
node.js常用的命令
9 1
|
3月前
|
JavaScript 前端开发
Npm 命令大全介绍(NodeJs)
Npm 命令大全介绍(NodeJs)
38 0
|
4月前
|
JavaScript 前端开发 数据安全/隐私保护
NodeJS 下构建 命令行工具(CLI) 与 交互式命令界面 的实践
NodeJS 下构建 命令行工具(CLI) 与 交互式命令界面 的实践
238 1
|
4月前
|
JavaScript 开发者 内存技术
nvm 全名 node.js version management 的优缺点,以及常用命令
NVM(Node Version Manager)是一个用于管理Node.js版本的工具。它可以让用户在同一台机器上安装和切换多个版本的Node.js,这对于处理项目的依赖关系和确保项目能够在特定的Node.js版本上运行非常有帮助。以下是NVM的优缺点: 优点: 多版本支持:NVM允许用户在同一台机器上安装多个Node.js版本,方便处理项目的依赖关系。 版本切换:NVM允许用户在不同的项目之间切换Node.js版本,可以根据项目需求选择合适的版本。 版本管理:NVM提供了命令来列出已安装的Node.js版本,并能够轻松卸载不再需要的版本,有助于释放磁盘空间并保持系统的整洁。 全局安装权