node.js - Nodejs(express)正在运行但请求不起作用
问题描述
我运行我的项目后端“server.js”(快递)。它工作正常,没有任何问题。但是我从 Postman 或其他应用程序发送请求,我无法得到任何响应或错误。仅加载。有时它工作正常,我可以正确收到所有请求,但几分钟或几小时后,我无法得到任何请求响应。请帮我。是什么导致这个问题?我正在使用 Reactjs、Nodejs (express)
解决方案
将此代码用作启动文件中的全局错误处理。你会得到所有错误资源作为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}`);
});
推荐阅读
- ruby - 将 Gem 部署到 geminabox 服务器的 Rake 发布任务挂起
- android - Android - 每次我尝试打开它时应用程序崩溃
- jquery - Ajax - 如何检查 CSS 类的返回 HTML?
- java - 二进制搜索具有不同字长的文件
- android - AndroidX 迁移后找不到符号 DataBindingComponent
- docker - docker-ee-selinux 与 2:container-selinux-2.21-1.el7.noarch 冲突
- json - Jest 测试套件未能运行:SyntaxError: Unexpected token u in JSON
- arrays - 如何找到设置了数组长度和最大整数值的整数数组的所有唯一值
- kubernetes - Google Cloud 中的 Kubernetes 问题卡在 ContainerCreating 状态
- python - Python转置矩阵给我错误的python