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 關注
- 2232 瀏覽
添加回答
舉報