我不知道这样做的功能,有人知道吗?
我发现这个例子很有帮助:
https://github.com/visionmedia/express/blob/master/examples/error- pages/index.js
所以,它实际上是这部分:
// "app.router" positions our routes // above the middleware defined below, // this means that Express will attempt // to match & call routes _before_ continuing // on, at which point we assume it's a 404 because // no route has handled the request. app.use(app.router); // Since this is the last non-error-handling // middleware use()d, we assume 404, as nothing else // responded. // $ curl http://localhost:3000/notfound // $ curl http://localhost:3000/notfound -H "Accept: application/json" // $ curl http://localhost:3000/notfound -H "Accept: text/plain" app.use(function(req, res, next) { res.status(404); // respond with html page if (req.accepts('html')) { res.render('404', { url: req.url }); return; } // respond with json if (req.accepts('json')) { res.json({ error: 'Not found' }); return; } // default to plain-text. send() res.type('txt').send('Not found'); });