2012-12-18 4 views
5

Gibt es eine Möglichkeit, einen express.js app.get() -Aufruf mit einer niedrigeren Priorität zu registrieren?Express.js mit niedriger Priorität app.get ('/ route');

Zum Beispiel

app.get('*', function(req, res) {}); 
app.get('/page', function(req, res) {}); 

Gäbe es eine Möglichkeit geben, eine niedrigere Priorität auf diesem ersten Anruf zu spezifizieren, so dass es am Ende der Route-Lookup ist, so dass der später genannt Pfad zuerst überprüft werden, effektiv so, als ob die erste Codezeile nach der zweiten Codezeile ausgeführt wurde?

+3

Die Reihenfolge, in der die Routen aufgeführt sind * ihre Priorität ist *. Legen Sie Routen mit niedrigerer Priorität unten an. –

Antwort

6

Ich habe mir nur kurz den Quellcode von Express angeschaut und es scheint nicht möglich zu sein, dass man beim Hinzufügen von Routen irgendeine Art von Priorität einstellen kann. Routen werden immer nach der Reihenfolge der Erstellung zugeordnet. In Ihrem Beispiel wird zuerst versucht, '*', dann '/page' zu entsprechen.

Sie können jedoch Express fragen Anpassung fortzusetzen, nachdem Sie fertig sind:

 
app.get('*', function (req, res, next) { 
    // run some tests on the request 
    // ... 

    // finally, resume matching 
    next(); 
}); 
Verwandte Themen