What is the difference between "express.Router" and routing using "app.get"?
express, node.js, routes
Solution
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`.
Problem
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?