Hiển thị các bài đăng có nhãn multiple router. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn multiple router. Hiển thị tất cả bài đăng

NodeJS Express multiple route file through one route file

Source: https://stackoverflow.com/questions/41182313/nodejs-express-multiple-route-file-through-one-route-file?rq=1
https://stackoverflow.com/questions/6059246/how-to-include-route-handlers-in-multiple-files-in-express

I'd do it a bit different than @Shaharyar
routes.js
var express = require('express');
var router = express.Router();

router.get('/', function(req, res) {
  res.send('Welcome to Node JS V1');
});

router.use('/users', require('./users').router);

module.exports.router = router;
users.js
var express = require('express');
var router = express.Router();

router.get('/',function(req, res){    
  res.send('Get all users.');
});

router.post('/', function(req, res) {
  // Create user
  res.send('Some response.');
});

module.exports.router = router;

To simplify it I'd drop the .router on module.exports and do.
router.use('/users', require('./users'));
Also the same for the route.js file, then in your server.js or wherever:
router.use('/api/v1', require('./routes'));
router.use('/api/v2', require('./routes2'));




If you want to put the routes in a separate file, for example routes.js, you can create the routes.js file in this way:
module.exports = function(app){

    app.get('/login', function(req, res){
        res.render('login', {
            title: 'Express Login'
        });
    });

    //other routes..
}
And then you can require it from app.js passing the app object in this way:
require('./routes')(app);
Have also a look at these examples

AH00035 permission denied

  sudo chmod 751 /home/ubuntu sudo chown -R ubuntu:www-data /home/ubuntu/genealogy-giapha sudo chmod -R 750 /home/ubuntu/genealogy...