2011-09-12 12 views
6

मैं एक्सप्रेस के साथ नोड जेएस का उपयोग कर रहा हूं। अब मुझे पूर्व में सभी अनुरोधों के लिए एक सामान्य कार्रवाई करने की आवश्यकता है। कुकी जांच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(function(req,res,next){ 
    //common action 
    next(); 
});... 

: पहले app.use(app.router); अनुदेश कोड लिखने आम कार्रवाई की जानी हैं है एक छोटे से सुविधा मैं फ़ाइल अपने app.js में यह बहुत ही सरल मिडलवेयर जोड़ने के लिए सुझाव देते हैं।

संबंधित मुद्दे