首页 > 解决方案 > Nodejs(express)正在运行但请求不起作用

问题描述

我运行我的项目后端“server.js”(快递)。它工作正常,没有任何问题。但是我从 Postman 或其他应用程序发送请求,我无法得到任何响应或错误。仅加载。有时它工作正常,我可以正确收到所有请求,但几分钟或几小时后,我无法得到任何请求响应。请帮我。是什么导致这个问题?我正在使用 Reactjs、Nodejs (express)

标签: node.jsreactjsexpresspm2

解决方案


将此代码用作启动文件中的全局错误处理。你会得到所有错误资源作为json。

因为您的网址中可能存在拼写错误。所以有了这个代码,你会得到.. not fount error res ... as json。

    
    // route not found
    app.use((req, res, next) => {
     const error = new Error('Not found');
     error.message = 'Invalid route';
     error.status = 404;
     next(error);
    });
   // log errors to console
    app.use(logErrors);
     //
    app.use(clientErrorHandler);
    app.use((error, req, res, next) => {
    res.status(error.status || 500);
      return res.json({
      status:error.status || 500,
      message: error.message,
      error: {
      error: error.message,
      },
    });
   });

// log errors to console
function logErrors(err, req, res, next) {
  console.error(err.stack);
  next(err);
}
// error handling for xhr request
function clientErrorHandler(err, req, res, next) {
  if (req.xhr) {
    //console.log('xhr request');
    res.status(400).send({status: 400, message: "Bad request from client", error: err.message });
  } else {
    next(err);
  }
}

let port = process.env.PORT || 8081;
app.listen(port, () => {
  console.log(`Listening on port ${port}`);
});


推荐阅读