2016-12-29 7 views
0

Express auslösen heißt here, die:Wie nicht Router-Middleware

Eine Route jeden Pfad übereinstimmen, die sofort mit einem „/“ seinen Weg folgt. Zum Beispiel: app.use ('/ apple', ...) passt zu "/ apple", "/ apple/images", "/ apple/images/news" und so weiter.

so, nehme ich zwei Router-Middleware-Funktionen haben:

app.get('/apple', function() {}); 
app.get('/apple/images', function() {}); 

und die Anfrage ist

GET http://domain.com/apple/images 

so möchte ich, dass meine zweite Funktion die Anforderung zu verarbeiten, aber wie ich verstehen der erste wird auch genannt werden, richtig? Gibt es eine Möglichkeit, die erste zu überspringen? Ich verstehe, dass ich next() von der ersten Funktion aufrufen können:

app.get('/apple', function(req,res,next) {next()}); 

aber ist es wirklich, wie es getan werden sollte? Sollte ich in diesem Fall next('router') verwenden?

Antwort

2

Bestellung ist wichtig. Definieren Sie zuerst den längeren Pfad und Sie erhalten das von Ihnen gewünschte Verhalten.