首页 > 解决方案 > 使用 nodemon 和 babel Express Nodejs 应用程序崩溃而没有错误消息

问题描述

我有一个使用 nodemon 运行的 express nodejs 应用程序,但是当应用程序崩溃时,控制台中没有记录错误消息: 在此处输入图像描述

这是我的 index.js 文件:

/* eslint-disable */
require("babel-register");
require('./server.js');

我认为这不是nodemon问题,因为当我删除时babel,控制台会显示未定义“导入”的错误消息: 在此处输入图像描述

目前我使用的 babel

{
  "presets": ["env"],
  "plugins": [
    ["transform-runtime", {
          "helpers": false,
          "polyfill": false,
          "regenerator": true,
          "moduleName": "babel-runtime"
        }]
  ]
}

因为ReferenceError: regeneratorRuntime is not defined 我尝试切换节点版本,没有工作。当前节点版本 v8.10.0

如果有人可以帮助我,我将不胜感激。在没有错误消息的情况下进行调试确实很痛苦。

标签: node.jserror-handlingconsolebabeljsnodemon

解决方案


对于那些遇到同样问题的人,我最终解决了这个问题:

/* eslint-disable */
require("babel-register");
try{
    require('./server.js');
} catch (e) {
    console.log(e)
}

如果这仍然不起作用,请收听unhandledRejectionuncaughtException通过以下方式收听:

process
    .on('unhandledRejection', (reason, p) => {
        console.error(reason, 'Unhandled Rejection at Promise', p);
    })
    .on('uncaughtException', err => {
        console.error(err, 'Uncaught Exception thrown');
        process.exit(1);
    });

推荐阅读