Reputation: 2170
I have an app with following code for routing:
var router = express.Router();
router.post('/routepath', function(req, res) {});
Now I have to put routing code in different files so I tried to use this approach, but it is not working perhaps because instead of express.Router()
it uses:
app.post("/routepath", function (req, res) {});
How can I put routing in different files using express.Router()
?
Why app.get
, app.post
, app.delete
, etc, are not working in app.js
after using express.Router()
in them?
Upvotes: 33
Views: 11975
Reputation: 106698
Here's a simple example:
// 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!');
});
Here, app.use()
is mounting the Router
instance at /routepath
, so that any routes added to the Router
instance will be relative to /routepath
.
Upvotes: 29