Un altro modo per fare un catch-all handler percorso è questo:
app.get('/login', function(req, res) {
//... login page
});
app.get('/', function(req, res) {
//...index page
});
app.get('/:pageCalled', function(req, res) {
console.log('retrieving page: ' + req.params.pageCalled);
//... mypage.html
});
Questo funziona esattamente come la risposta di robertklep (accettato), ma ti dà più informazioni su ciò che l'utente ha effettivamente richiesto. Ora hai una lumaca req.params.pageCalled
per rappresentare qualsiasi pagina venga richiesta e puoi indirizzare l'utente alla pagina appropriata se ne hai diversi diversi.
Una Gotchya a cui prestare attenzione (thx @agmin) con questo approccio, /:pageCalled
prenderà solo percorsi con un solo /
, quindi non sarà possibile ottenere /route/1
, ecc Utilizzare lumache aggiuntivi come /:pageCalled/:subPageCalled
per più pagine (@softcode thx)
fonte
2014-04-09 00:14:11
E.g Richiedi l'autenticazione su tutte le rotte * eccetto * **/login ** e **/registro **. (Dal momento che le persone si stanno chiedendo perché hai fatto questa domanda) – a20