代码改变世界

使用supervisor提高nodejs调试效率

  youxin  阅读(234)  评论(0编辑  收藏  举报

往我们在开发php程序调试的时候,每修改一次,可以直接去浏览器浏览,不需要重启服务。但是在开发nodejs程序,调试的时候,无论你修改了代码的哪一部分,都需要重启服务才能生效。这是因为 Node.js 只有在第一次引用到某部份时才会去解析脚
本文件,以后都会直接访问内存,避免重复载入。。Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。supervisor 可以帮助你实现这个功能,它会监视你对代码的改动,并自动重启 Node.js。

supervisor的安装也很简单:

直接用npm安装既可,键入命令: npm -g install supervisor

这里注意一点的就是,supervisor必须安装到全局,如果你不安装到全局,错误命令会提示你安装到全局。

如果不想安装到默认的全局,也可以自己修改全局路径到当前路径

npm config set prefix "路径"

安装完以后就可以用supervisor 来启动服务了。

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 这个小工具可以解决开发中的调试问题。 

编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· 开发者新选择:用DeepSeek实现Cursor级智能编程的免费方案
· 【译】.NET 升级助手现在支持升级到集中式包管理
· 独立开发经验谈:如何通过 Docker 让潜在客户快速体验你的系统
· 并发编程 - 线程同步(二)
历史上的今天:
2013-09-03 位运算技巧4
2013-09-03 c++ bitset使用
2013-09-03 cout输出各种进制
2013-09-03 cout输出流的执行顺序
2013-09-03 内存对齐理解
2013-09-03 算法导论:用2个栈实现一个队列,用2个队列实现一个栈
2012-09-03 document.images 应用
点击右上角即可分享
微信分享提示