您的位置:首页 > Web前端 > Node.js

Node.js 调试小技巧

2016-04-27 16:11 501 查看
小技巧——使用 supervisor
如果你有
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.

——《Node.js基础开发指南》 ByVoid

另外:

如果你是用 Express 框架,请修改为 supervisor ./bin/www
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: