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模块模式分析
May 16 Javascript
基于JQuery的一句代码实现表格的简单筛选
Jul 26 Javascript
javascript判断office版本示例
Apr 11 Javascript
编写简单的jQuery提示插件
Dec 21 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
Sep 24 Javascript
webpack配置之后端渲染详解
Oct 26 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
Apr 18 jQuery
JS实现获取进今年第几天是周几的方法分析
Jun 27 Javascript
在小程序开发中使用npm的方法
Oct 17 Javascript
VUE脚手架具体使用方法
May 20 Javascript
用 js 写一个 js 解释器过程详解
Aug 02 Javascript
Vue解决移动端弹窗滚动穿透问题
Dec 15 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学习之php4与php5之间会穿梭一点点感悟
2007/05/03 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
php修改上传图片尺寸的方法
2015/04/14 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
php实现微信企业付款到个人零钱功能
2018/10/09 PHP
js getElementsByTagName的简写方式
2010/06/27 Javascript
jQuery在vs2008及js文件中的无智能提示的解决方法
2010/12/30 Javascript
myeclipse安装jQuery插件的方法
2011/03/29 Javascript
Mac地址验证的javascript代码
2013/11/09 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
浅析JavaScript中break、continue和return的区别
2016/11/30 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
详解vue-cli + webpack 多页面实例应用
2017/04/25 Javascript
解决webpack打包速度慢的解决办法汇总
2017/07/06 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
微信小程序实现富文本图片宽度自适应的方法
2019/01/20 Javascript
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
[45:40]Ti4 冒泡赛第二天NEWBEE vs NaVi 1
2014/07/15 DOTA
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
python教程之用py2exe将PY文件转成EXE文件
2014/06/12 Python
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
2014/06/25 Python
分分钟入门python语言
2018/03/20 Python
实例详解Python模块decimal
2019/06/26 Python
Pycharm小白级简单使用教程
2020/01/08 Python
如何在keras中添加自己的优化器(如adam等)
2020/06/19 Python
使用python操作lmdb对数据读取的实例
2020/12/11 Python
python UIAutomator2使用超详细教程
2021/02/19 Python
HTML5实现无刷新修改URL的方法
2019/11/14 HTML / CSS
StubHub意大利:购买和出售全球演唱会和体育赛事门票
2017/11/21 全球购物
《世界多美呀》教学反思
2014/03/02 职场文书
cf收人广告词大全
2014/03/14 职场文书
如何写自我鉴定
2014/03/19 职场文书
军人离婚协议书样本
2014/10/21 职场文书
2015年社区工作总结
2015/04/08 职场文书