2011-09-12 14 views
6

私はexpressでノードjsを使用しています。今私はすべての要求のための共通のアクションを実行する必要があります。クッキーチェックnodejsはすべての要求に対して共通の処理を実行します

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 
}); 

ここで、クッキーチェックはすべての要求に対して共通のアクションです。だから私はすべてのapp.getのクッキーチェックコードを繰り返してこれを実行することができます。

これを修正するための提案?事前に感謝します

答えて

3

app.allまたはミドルウェアを使用してください。

8

loadUser example from the express docs on Route Middlewareをご覧ください。パターンは次のとおりです。

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

ミドルウェアを使用することが推奨され、高い実行可能で非常に安いです。 app.use(app.router);命令の前にコードを書く:あなたはルータを使用する場合は

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

:実行される一般的なアクションは小さな機能であれば、私はあなたのapp.jsファイルで、この非常に単純なミドルウェアを追加することをお勧めします。

関連する問題