Express 4中的中间件的顺序

为什么如果我把这个

app.use(function (req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); app.use(function (err, req, res, next) { res.render('error', { message: err.message, error: err }); }); app.use('/', index); 

所有请求都是404? 中间件的顺序很重要?

是的订单很重要。 如果在404中间件和错误中间件之前移动app.use('/', index) ,它将按预期工作。