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 相关文章推荐
Google Map Api和GOOGLE Search Api整合实现代码
Jul 18 Javascript
html的DOM中Event对象onabort事件用法实例
Jan 21 Javascript
jQuery简单实现日历的方法
May 04 Javascript
JS & JQuery 动态添加 select option
Jun 08 Javascript
BootStrap Fileinput的使用教程
Dec 30 Javascript
JavaScript创建对象的常用方式总结
Aug 10 Javascript
layer.close()关闭进度条和Iframe窗的方法
Aug 17 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
Oct 10 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
Sep 09 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
Feb 10 Javascript
JS+JQuery实现无缝连接轮播图
Dec 30 jQuery
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
May 25 Vue.js
详解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
php获取数组元素中头一个数组元素值的实现方法
2014/12/20 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
PHP单链表的实现代码
2016/07/05 PHP
JQuery 弹出框定位实现方法
2010/12/02 Javascript
基于jquery的$.ajax async使用
2011/10/19 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
js中通过父级进行查找定位元素
2014/06/15 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
解决vue里碰到 $refs 的问题的方法
2017/07/13 Javascript
Vue框架之goods组件开发详解
2018/01/25 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
基于layui内置模块(element常用元素的操作)
2019/09/20 Javascript
javascript实现评分功能
2020/06/24 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
python中list常用操作实例详解
2015/06/03 Python
Python 获得13位unix时间戳的方法
2017/10/20 Python
Python OpenCV之图片缩放的实现(cv2.resize)
2019/06/28 Python
Python从列表推导到zip()函数的5种技巧总结
2019/10/23 Python
Python函数式编程实例详解
2020/01/17 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
HTML5离线应用与客户端存储的实现
2018/05/03 HTML / CSS
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
2015/01/27 面试题
新闻专业应届生求职信
2013/10/31 职场文书
组织关系转移介绍信
2014/01/16 职场文书
大专生找工作自荐书
2014/06/10 职场文书
《小乌鸦爱妈妈》教学反思
2016/02/19 职场文书
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis