私はExpressの初心者で、ミドルウェアをどのように処理するのかちょっと混乱していますか?私は私のカスタムミドルウェアのように見えるapp.use(require('_/app/middleware/shareLocals'))
を追加したいExpressはミドルウェアをどのように再調整しますか?
app.use(require('_/app/middlewares/errors/404'))
app.use(require('_/app/middlewares/errors/500'))
var log = require('_/log')
module.exports = function (req, res, next) {
log.warn('page not found', req.url)
res.status(404).render('errors/404')
}
var log = require('_/log')
module.exports = function (er, req, res, next) {
log.error(er.message)
res.locals.error = er
res.status(500).render('errors/500')
}
をだから今:だから基本的に私は次のようになりますこれは2つのミドルウェアを持っています:
module.exports = function (req, res, next) {
res.locals.base_url = req.protocol + '://' + req.get('host');
next();
}
主な問題は、Express
はミドルウェアが何をすべきかを理解し、どのように...私はbase_url
を使用しようとすると、今、私は404
エラーを取得すること
のですか?それは私のミドルウェアと404の間で視覚的な違いがありません:
- それはミドルウェアを感じ出現だけで404エラー
を投げ、それはそれでどんなif's
を持っていない同じのparams
Express
のエラー(最初のパラメータとしてエラーを除く)と404のエラー(最初のエラーがない場合)... PS ルートの前後にミドルウェアを定義する違いはありますか?