2014-05-12 6 views
25

मैं मार्ग के लिए निम्न कोड के साथ वाला ऐप:"express.Router" और "app.get" का उपयोग करके रूटिंग के बीच क्या अंतर है?

var router = express.Router(); 
router.post('/routepath', function(req, res) {}); 

अब मैं अलग फ़ाइलों में कोड मार्ग तो मैं this दृष्टिकोण का उपयोग करने की कोशिश की डाल करने के लिए है, लेकिन यह नहीं शायद काम कर रहा है क्योंकि बजाय इसे express.Router() है उपयोग करता है:

app.post("/routepath", function (req, res) {}); 

express.Router() का उपयोग करके मैं विभिन्न फ़ाइलों में रूटिंग कैसे डाल सकता हूं?

क्यों app.get, app.post, app.delete, आदि, उन में express.Router() उपयोग करने के बाद app.js में काम नहीं कर रहे हैं?

+0

http://stackoverflow.com/questions/28305120/differences-between-express-router-and-app-get –

उत्तर

26

यहाँ एक सरल उदाहरण है:

// myroutes.js 
var router = require('express').Router(); 

router.get('/', function(req, res) { 
    res.send('Hello from the custom router!'); 
}); 

module.exports = router; 

// main.js 
var app = require('express')(); 

app.use('/routepath', require('./myroutes')); 

app.get('/', function(req, res) { 
    res.send('Hello from the root path!'); 
}); 

यहाँ, app.use()/routepath पर Router उदाहरण बढ़ते है, ताकि किसी भी मार्गों Router उदाहरण के लिए जोड़ा /routepath के सापेक्ष किया जाएगा।

+0

में पूछे जाने पर res.send धन्यवाद के लिए महान काम करता है लेकिन कार्यों main.js में घोषित के लिए सुलभ नहीं हैं myroutes.js में मार्ग – XIMRX

+1

यदि आपने उस तरह कोड साझा किया है, तो उस कोड को एक अलग फ़ाइल/मॉड्यूल (जैसे common.js) में रखें और केवल उन्हें अपने main.js और myroutes.js (और कहीं और) । – mscdex

+0

एक्सप्रेस 4.0 में 'app.router' – Ravi

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