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实现ListBox左右全选,单选,多选,全请
Nov 07 Javascript
js 弹出框只弹一次(二次修改之后的)
Nov 26 Javascript
JavaScript中textRange对象使用方法小结
Mar 24 Javascript
超精准的javascript验证身份证号的具体实现方法
Nov 18 Javascript
Svg.js实例教程及使用手册详解(一)
May 16 Javascript
leaflet的开发入门教程
Nov 17 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
Feb 17 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
Jul 10 Javascript
JS实现电商放大镜效果
Aug 24 Javascript
vue+egg+jwt实现登录验证的示例代码
May 18 Javascript
laypage+SpringMVC实现后端分页
Jul 27 Javascript
JS实现点餐自动选择框(案例分析)
Dec 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中var_dump,var_export,print_r三个函数的区别
2013/06/21 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
2014/05/12 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
jquery修改属性值实例代码(设置属性值)
2014/01/06 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
2014/08/27 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
Jquery全选与反选点击执行一次的解决方案
2015/08/14 Javascript
js实现的二级横向菜单条实例
2015/08/22 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
浅析JS异步加载进度条
2016/05/05 Javascript
微信QQ的二维码登录原理js代码解析
2016/06/23 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
2018/02/09 Javascript
JavaScript前端实现压缩图片功能
2020/03/06 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
2020/05/13 Javascript
[04:01]2014DOTA2国际邀请赛 TITAN告别Ohaiyo期望明年再战
2014/07/15 DOTA
微信跳一跳游戏python脚本
2020/04/01 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
画pytorch模型图,以及参数计算的方法
2019/08/17 Python
python3.6生成器yield用法实例分析
2019/08/23 Python
Python搭建HTTP服务过程图解
2019/12/14 Python
kafka监控获取指定topic的消息总量示例
2019/12/23 Python
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
《争吵》教学反思
2014/02/15 职场文书
继承公证书
2014/04/09 职场文书
安全生产标语
2014/06/06 职场文书
公司总经理助理岗位职责
2014/07/09 职场文书
乡文化站暑期培训方案
2014/08/28 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
工作期间打牌检讨书范文
2014/11/20 职场文书
员工辞职信怎么写
2015/02/27 职场文书
地震捐款简报
2015/07/21 职场文书
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python
在CSS中使用when/else的方法
2022/01/18 HTML / CSS