2011-09-12 12 views
6

Sto usando il nodo js con express. Ora ho bisogno di eseguire un'azione comune per tutte le richieste ex. cookie di controllonodejs esegue un'azione comune per tutte le richieste

app.get('/',function(req, res){ 
    //cookie checking 
    //other functionality for this request 
}); 

app.get('/show',function(req, res){ 
    //cookie checking 
    //other functionality for this request 
}); 

Qui il controllo dei cookie è un'azione comune per tutte le richieste. Quindi, come posso eseguire questo fuori senza ripetere il codice di controllo dei cookie in tutte le app.get.

Suggerimenti per il fissaggio? Grazie in anticipo

risposta

3

app.all o utilizzare un middleware.

8

Controlla il loadUser example from the express docs on Route Middleware. Il modello è:

function cookieChecking(req, res, next) { 
    //cookie checking 
    next(); 
} 


app.get('/*', cookieChecking); 

app.get('/',function(req, res){ 
    //other functionality for this request 
}); 

app.get('/show',function(req, res){ 
    //other functionality for this request 
}); 
2

L'utilizzo del middleware è altamente consigliato, altamente performante e molto economico. Se l'azione comune da eseguire è una caratteristica molto piccolo vi suggerisco di aggiungere questo molto semplice middleware nei tuoi app.js di file:

... 
app.use(function(req,res,next){ 
    //common action 
    next(); 
});... 

Se si utilizza router: scrivere il codice prima dell'istruzione app.use(app.router);.

Problemi correlati