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 相关文章推荐
网站被黑的假象--ARP欺骗之页面中加入一段js
May 16 Javascript
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
May 04 Javascript
js Function类型
Dec 04 Javascript
文档对象模型DOM通俗讲解
Nov 01 Javascript
最简单的JavaScript图片轮播代码(两种方法)
Dec 18 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
Jan 17 Javascript
Bootstrap表格使用方法详解
Feb 17 Javascript
JS给按钮添加跳转功能类似a标签
May 30 Javascript
js实现canvas图片与img图片的相互转换的示例
Aug 31 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
Jul 02 Javascript
使用Vue调取接口,并渲染数据的示例代码
Oct 28 Javascript
JS实现网页烟花动画效果
Mar 10 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
php的access操作类
2008/04/09 PHP
php function用法如何递归及return和echo区别
2014/03/07 PHP
php实现encode64编码类实例
2015/03/24 PHP
简单的自定义php模板引擎
2016/08/26 PHP
js 返回时间戳所对应的具体时间
2010/07/20 Javascript
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
2011/07/31 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
2011/11/14 Javascript
javascript检测页面是否缩放的小例子
2013/05/16 Javascript
node.js中的fs.fstatSync方法使用说明
2014/12/15 Javascript
javascript实现随时变化着的背景颜色
2015/04/02 Javascript
测试IE浏览器对JavaScript的AngularJS的兼容性
2015/06/19 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
vue如何解决循环引用组件报错的问题
2018/09/22 Javascript
利用Angular2的Observables实现交互控制的方法
2018/12/27 Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
2020/06/11 Javascript
微信小程序向Java后台传输参数的方法实现
2020/12/10 Javascript
python3实现短网址和数字相互转换的方法
2015/04/28 Python
Python脚本实时处理log文件的方法
2016/11/21 Python
python 调用c语言函数的方法
2017/09/29 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
python爬虫模块URL管理器模块用法解析
2020/02/03 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
基于Python实现全自动下载抖音视频
2020/11/06 Python
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
使用 CSS3 中@media 实现网页自适应的示例代码
2020/03/24 HTML / CSS
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
银河香水:Galaxy Perfume
2019/03/25 全球购物
幼儿园家长寄语
2014/04/02 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
公安四风对照检查材料思想汇报
2014/10/11 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
表扬通报怎么写
2015/01/16 职场文书
英语辞职信怎么写
2015/02/28 职场文书
Mysql外键约束的创建与删除的使用
2022/03/03 MySQL