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中的私有成员
Sep 18 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
Apr 11 Javascript
BootStrap实现树形目录组件代码详解
Jun 21 Javascript
Bootstrap实现水平排列的表单
Jul 04 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
Jun 04 Javascript
Angular.js中下拉框实现渲染html的方法
Jun 18 Javascript
vue获取当前点击的元素并传值的实例
Mar 09 Javascript
javascript面向对象三大特征之多态实例详解
Jul 24 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
Sep 20 Javascript
JS实现灯泡开关特效
Mar 30 Javascript
JS+canvas五子棋人机对战实现步骤详解
Jun 04 Javascript
vue监听键盘事件的相关总结
Jan 29 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+jQuery制作的列表分页的功能模块
2014/10/14 PHP
php代码架构的八点注意事项
2016/01/25 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
让广告代码不再影响你的网页加载速度
2006/07/07 Javascript
表单元素事件 (Form Element Events)
2009/07/17 Javascript
juqery 学习之五 文档处理 插入
2011/02/11 Javascript
jQuery下通过$.browser来判断浏览器.
2011/04/05 Javascript
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
jQuery中复合属性选择器用法实例
2014/12/31 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
JQuery导航菜单选择特效
2016/04/11 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
vuex存取值和映射函数使用说明
2020/07/24 Javascript
vue.js click点击事件获取当前元素对象的操作
2020/08/07 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
python实现五子棋游戏
2019/06/18 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
2019/11/27 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
Python range与enumerate函数区别解析
2020/02/28 Python
CSS3实例分享--超炫checkbox复选框和radio单选框
2014/09/01 HTML / CSS
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
德国家具在线:Fashion For Home
2017/03/11 全球购物
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
转预备党员政审材料
2014/02/06 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
小学中等生评语
2014/12/29 职场文书
爱晚亭导游词
2015/02/09 职场文书
放假通知怎么写
2015/08/18 职场文书
Nginx 路由转发和反向代理location配置实现
2021/11/11 Servers