当前位置:主页 > 脚本语言 > NodeJS >

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

时间:2021-02-26 10:52:14 | 栏目:NodeJS | 点击:

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

这是因为 Node.js 只有在第一次引用到某一部分时才会去解析 本文件,以后都会直接访问内存,避免重复载入,而 PHP 则是重新读取并解析脚本(如果没有专门的优化配置)。

在开发Node.js实现HTTP应用时会发现,无论你修改了代码的哪一部分,都必须终止Node.js再重新运行才会奏效。这是因为Node.js只有在第一次引用到某部分时才会去解析脚本文件,以后都会直接访问内存,避免重复载入。

Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因 为我们在开发过程中总是希望修改之后立即看到结果,而不是每次都要终止并重新启动。

supervisor 可以帮助你实现这个功能,它会监视你对代码的改动,并自动重动 Node.js。

使用方法很简单,首先使用 npm 安装 supervisor:

$ npm install -g supervisor

如果使用的是 Linux 或 Mac,可以使用 sudo npm install -g supervisor来安装。

接下来,使用 supervisor动 app.js: $ supervisor app.js
DEBUG: Running node-supervisor with
DEBUG: program ‘app.js'
DEBUG: ?Cwatch ‘.'
DEBUG: ?Cextensions ‘node|js'
DEBUG: ?Cexec ‘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 这个小工具可以解决开发中的调试问题。

总结

您可能感兴趣的文章:

相关文章