2016-08-10 4 views
0

Ich habe eine ausdrückliche App, die Route hat, dass in app.js genannt wird, wie folgtExpress Route Middleware Ursache 404

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

Ich habe auch die diese Middleware, die vor dem Fehler verwendet wird, Umgang mit Middleware an meinem app.js Datei

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

das Problem, das ist, wenn die Middleware nicht die Benutzer Route Rückkehr 404 kommentiert wird, aber wenn die Middleware der Strecke Benutzer normalerweise arbeiten kommentiert wird. Jede Idee, was passiert

Antwort

0

Sie definieren Fehlerbehandlung Middleware zuletzt, nach anderen app.use() und Routen Anrufe;

Also ich denke, Sie definieren 404 bevor Benutzer Routen. Das ist vielleicht das Problem.

Docs https://expressjs.com/en/guide/error-handling.html

+0

Eigentlich war die Frage nicht klar, so dass ich es bearbeiten, wird diese Prozedur nicht Fehler, der eine Middleware, die vor der Fehlerbehandlung Middleware verwendet wird, die bereits durch ausdrückliche definiert wurde, wenn das Projekt erstellt wurde . – Ramez