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


Posted in Javascript onMarch 26, 2019

如果你有 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: ?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 这个小工具可以解决开发中的调试问题。

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Javascript 相关文章推荐
Javascript isArray 数组类型检测函数
Oct 08 Javascript
jQuery.query.js 取参数的两点问题分析
Aug 06 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
Feb 22 Javascript
JavaScript获取图片的原始尺寸以宽度为例
May 04 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
Feb 28 Javascript
jQuery检测鼠标左键和右键点击的方法
Mar 17 Javascript
js基础之DOM中元素对象的属性方法详解
Oct 28 Javascript
解决拦截器对ajax请求的拦截实例详解
Dec 21 Javascript
使用javascript函数编写简单银行取钱存钱流程
May 26 Javascript
详解适配器在JavaScript中的体现
Sep 28 Javascript
Nginx设置为Node.js的前端服务器方法总结
Mar 27 Javascript
vue设置动态请求地址的例子
Nov 01 Javascript
详解vue在项目中使用百度地图
Mar 26 #Javascript
jQuery实现动态添加和删除input框实例代码
Mar 26 #jQuery
vue进入页面时滚动条始终在底部代码实例
Mar 26 #Javascript
详解原生JS动态添加和删除类
Mar 26 #Javascript
Vue项目部署的实现(阿里云+Nginx代理+PM2)
Mar 26 #Javascript
监听element-ui table滚动事件的方法
Mar 26 #Javascript
JavaScript的级联函数用法简单示例【链式调用】
Mar 26 #Javascript
You might like
杏林同学录(八)
2006/10/09 PHP
PHP 函数执行效率的小比较
2010/10/17 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
2013/11/12 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
2015/12/21 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
2019/10/20 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
jquery调用wcf并展示出数据的方法
2011/07/07 Javascript
JavaScript ECMA-262-3 深入解析.第三章.this
2011/09/28 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
2016/01/08 Javascript
AngularJS 过滤与排序详解及实例代码
2016/09/14 Javascript
JavaScript定义函数_动力节点Java学院整理
2017/06/27 Javascript
详解vue 单页应用(spa)前端路由实现原理
2018/04/04 Javascript
使用 vue-i18n 切换中英文效果
2018/05/23 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
javascript实现商品图片放大镜
2019/11/28 Javascript
python3使用urllib示例取googletranslate(谷歌翻译)
2014/01/23 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
python如何爬取个性签名
2018/06/19 Python
我用Python抓取了7000 多本电子书案例详解
2019/03/25 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
python获取栅格点和面值的实现
2020/03/10 Python
Python项目实战之使用Django框架实现支付宝付款功能
2021/02/23 Python
越南电子产品购物网站:FPT Shop
2017/12/02 全球购物
关于.NET, HTML的五个问题
2012/08/29 面试题
非功能性需求都包括哪些方面
2013/10/29 面试题
报关简历自我评价怎么写
2013/09/19 职场文书
招商经理岗位职责
2013/11/16 职场文书
大学生社团活动总结
2014/04/26 职场文书
go 实现简易端口扫描的示例
2021/05/22 Golang
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python
浅谈怎么给Python添加类型标注
2021/06/08 Python