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 相关文章推荐
js宝典学习笔记(上)
Jan 10 Javascript
js jquery数组介绍
Jul 15 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
Feb 26 Javascript
javascript日期操作详解(脚本之家整理)
Sep 05 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
Mar 31 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
Jul 14 Javascript
Bootstrap导航条学习使用(一)
Feb 08 Javascript
jQuery.cookie.js使用方法及相关参数解释
Mar 06 Javascript
js实现华丽的九九乘法表效果
Mar 29 Javascript
详解webpack-dev-server使用方法
Sep 14 Javascript
angular 服务的单例模式(依赖注入模式下)详解
Oct 22 Javascript
javascript实现点亮灯泡特效示例
Oct 15 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
德劲1103的维修打理经验
2021/03/02 无线电
谷歌音乐搜索栏的提示功能php修正代码
2011/05/09 PHP
php中session过期时间设置及session回收机制介绍
2014/05/05 PHP
PHP生成数组再传给js的方法
2014/08/07 PHP
PHP中require和include路径问题详解
2014/12/25 PHP
php 数据结构之链表队列
2017/10/17 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
2014/08/20 Javascript
javascript创建对象、对象继承的实用方式详解
2016/03/08 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
jquery中的常见问题及快速解决方法小结
2016/06/14 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
Node.js  事件循环详解及实例
2017/08/06 Javascript
浅谈Vue数据绑定的原理
2018/01/08 Javascript
Vue实现PC端靠边悬浮球的代码
2020/05/09 Javascript
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
深入讲解Python编程中的字符串
2015/10/14 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
python分数表示方式和写法
2019/06/26 Python
Python转换时间的图文方法
2019/07/01 Python
jenkins配置python脚本定时任务过程图解
2019/10/29 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
总经理助理岗位职责
2013/11/08 职场文书
银行个人求职自荐信范文
2013/12/16 职场文书
优秀管理者获奖感言
2014/02/17 职场文书
黄金搭档广告词
2014/03/21 职场文书
初婚未育证明样本
2014/10/24 职场文书
红色故事汇观后感
2015/06/18 职场文书
python单元测试之pytest的使用
2021/06/07 Python
Vue2.0搭建脚手架
2022/03/13 Vue.js
win sever 2022如何占用操作主机角色
2022/06/25 Servers