2011-08-31 17 views
25

इसलिए मैं कुछ ऐसा करना चाहते हैं:Node.js: एक्सप्रेस में सभी HTTP अनुरोधों पर कुछ कैसे करें?

app.On_All_Incomeing_Request(function(req, res){ 
    console.log('request received from a client.'); 
}); 

वर्तमान app.all() एक पथ की आवश्यकता है, और अगर मैं उदाहरण इस / के लिए दे तो यह केवल काम करता है जब मैं मुखपृष्ठ पर हूँ, इसलिए यह वास्तव में सब कुछ नहीं है ..

सादा नोड.जेएस में यह http सर्वर बनाने के बाद कुछ भी लिखना जितना आसान है, और इससे पहले कि हम पेज रूटिंग करते हैं।

तो एक्सप्रेस के साथ ऐसा कैसे करें, और इसे करने का सबसे अच्छा तरीका क्या है?

उत्तर

39

एक्सप्रेस Connect मिडलवेयर पर आधारित है।

एक्सप्रेस की रूटिंग क्षमताओं को आपके ऐप के router द्वारा प्रदान किया जाता है और आप अपने आवेदन में अपने स्वयं के मध्यवर्ती जोड़ सकते हैं।

var app = express.createServer(); 

// Your own super cool function 
var logger = function(req, res, next) { 
    console.log("GOT REQUEST !"); 
    next(); // Passing the request to the next handler in the stack. 
} 

app.configure(function(){ 
    app.use(logger); // Here you add your logger to the stack. 
    app.use(app.router); // The Express routes handler. 
}); 

app.get('/', function(req, res){ 
    res.send('Hello World'); 
}); 

app.listen(3000); 

यह इतना आसान है।

(पुनश्च: आप बस कुछ लॉगिंग आप logger कनेक्ट द्वारा प्रदान की विचार कर सकते हैं चाहते हैं)

+25

या 'app.all (" * ", सीबी)' बस के रूप में अच्छी तरह से काम करेगा – Raynos

+0

हे, कि बहुत था आसान। मैं थोड़ी देर के लिए node.js के साथ एक्सप्रेस का उपयोग कर रहा हूं, लेकिन मैंने कभी इस बारे में सोचा नहीं :-) धन्यवाद भाई! – Adam

+0

+1 मुझे इस बारे में पता नहीं था। यह अधिक एक्सप्रेस-आश है। –

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