node崩溃后如何自动重启?

当我在Chrome 控制台玩耍的时候,一不小心出错,node进程崩溃
我必须要手动重启node,我该如何让node自动重启,我只是想在控制台快速验证一些代码
下面代码中我故意没有捕获错误,并请求了一个不存在的文件,我希望它出错能快速重启过来.

图片描述

这是一个基本的服务器例子,使用调试模式架起环境
node --inspect aaa.js

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World!');
}).listen(8080);
阅读 10.1k
8 个回答

最好的玩具 ndb

gtihub: https://github.com/GoogleChro...

优点:

  1. 出错进程不崩溃
  2. 代码自动更新,类似 nodemon和pm2 ,但官方这个使用无重启技术
  3. 代码双向更新, 调试器里面修改后,源文件也被修改了
  4. 附带了终端
  5. 一键刷新环境,就像浏览器刷新一样

图示:

图片描述

图片描述

楼上提供了自动重启的方法,我就不多说了。实际上不需要重启,只需不退出即可,具体方法就是捕获“未捕获的异常”:

process.on('uncaughtException', err => {
  console.error(err && err.stack)
});

pm2, forever 等进程管理器了解一下

本地调试nodemon,修改代码自动重启

可以了解一下forever,十分好用。装好之后将你的项目用forever来启动,即可解决问题

linux、Mac开发环境:

  1. supervisor、nodemon等守护进程工具,可以用于调试
  2. pm2进程监控工具,可以用于发布项目
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题