1 回答

TA贡献358条经验 获得超213个赞
你的express.js有问题。引入router的位置。必须放在错误处理之前,也就是说 :
app.use(bodyParser.urlencoded({extended: false}));
require('../app/routes/news.server.routes')(app);
app.use(function(req, res, next) {
res.status(404);
try {
return res.json('NOT FOUND');
} catch (e) {
console.error('404 set header after sent');
}
});
app.use(function(err, req, res, next) {
if (!err) {
next()
} else {
res.status(500);
try {
return res.json(err.message || '500 SERVER ERROR');
} catch (e) {
console.error('500 set header after sent');
}
}
});
看见加粗的了吗?后面两个错误处理必须放在最后,因为路由匹配规则是从上到下,匹配到了就终止!
- 1 回答
- 0 关注
- 2195 浏览
添加回答
举报