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 相关文章推荐
让插入到 innerHTML 中的 script 跑起来的实现代码
Jul 01 Javascript
JQuery设置和去除disabled属性的5种方法总结
May 16 Javascript
jQuery页面弹出框实现文件上传
Feb 09 Javascript
JQuery validate 验证一个单独的表单元素实例
Feb 17 Javascript
JS实现给json数组动态赋值的方法示例
Mar 19 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
Jul 18 Javascript
10个最优秀的Node.js MVC框架
Aug 24 Javascript
JavaScript表单即时验证 验证不成功不能提交
Aug 31 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
Dec 11 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
Jul 10 jQuery
JavaScript forEach中return失效问题解决方案
Jun 01 Javascript
JS变量提升及函数提升实例解析
Sep 03 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 加密解密内部算法
2010/04/22 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
php5.x禁用eval的操作方法
2018/10/19 PHP
多个jquery.datatable共存,checkbox全选异常的快速解决方法
2013/12/10 Javascript
js操作iframe父子窗体示例
2014/05/22 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
js获取时间精确到秒(年月日)
2016/03/16 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
浅谈javascript中的三种弹窗
2016/10/21 Javascript
JS中Array数组学习总结
2017/01/18 Javascript
原生js实现放大镜
2017/02/20 Javascript
写jQuery插件时的注意点
2017/02/20 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
2018/03/22 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
在vue中安装使用vux的教程详解
2018/09/16 Javascript
Vue + Element-ui的下拉框el-select获取额外参数详解
2020/08/14 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
2016/07/02 Python
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
PyQt5主窗口动态加载Widget实例代码
2018/02/07 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
2018/02/22 Python
一百行python代码将图片转成字符画
2021/02/19 Python
使用Pandas对数据进行筛选和排序的实现
2019/07/29 Python
如何通过python实现IOU计算代码实例
2020/11/02 Python
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
远程调用的原理
2014/07/05 面试题
教师廉洁自律承诺书
2014/05/26 职场文书
学校与家长安全责任书
2014/07/23 职场文书
2014年卫生工作总结
2014/11/27 职场文书
五一劳动节慰问信
2015/02/14 职场文书
优秀毕业生主要事迹材料
2015/11/04 职场文书
2016教师节问候语
2015/11/10 职场文书
小学毕业教师寄语
2019/06/21 职场文书
关于mysql中string和number的转换问题
2022/06/14 MySQL
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle