2016-08-10 31 views
0

Expressのルートミドルウェア原因404

module.exports = function(app, db){ 
    app.get('/users', function(req, res) { 
     res.sendFile(path.join(__dirname, '../views/users.html')); 
    }); 
}; 

次私もエラーが私のミドルウェアを取り扱う前に使用され、このミドルウェアを持っているとして、私は、それはapp.jsで呼び出され、ルートが明示アプリを持っていますapp.jsファイル

// catch 404 and forward to error handler 
app.use(function(req, res, next) { 
    var err = new Error('Not Found'); 
    err.status = 404; 
    next(err); 
}); 

は問題がミドルウェアは、ユーザのルートリターン404をコメントしたが、ミドルウェアがコメントされている場合、ルートユーザーが正常に動作していないときにということです。任意のアイデア何が起こっているか

答えて

0

エラー処理ミドルウェアは、他のapp.use()とroutes呼び出し後に最後に定義します。

だから私はあなたがユーザーのルートの前に404を定義すると思います。それが問題かもしれません。

ドキュメントhttps://expressjs.com/en/guide/error-handling.html

+0

私はそれを編集し、このプロジェクトを作成したときに、すでに速達で定義されたエラー処理ミドルウェアの前に使用されているミドルウェアですハンドラをエラーではありませんので、実際に質問が明確ではありませんでした。 – Ramez

関連する問題