I am learning NodeJS. I have a nodeJS API project. I want to use version in routes so i created following folder structure.
application/
--app.js
--routes/
----V1/
------routes.js
------users.js
Here is my app.js file:
var v1 = require('./routes/v1/route');
app.use('/api/v1', v1.router);
And this is route.js file:
var express = require('express');
var router = express.Router();
router.get('/',function(req,res){
res.send("Welcome to Node JS V1");
});
var courses = require('./users').router;
-- How to include usres route here
module.exports.router = router;
users.js file:
var express = require('express');
var router = express.Router();
router.get('/',function(req,res){
res.send("Get all users.");
});
module.exports.router = router;
Now how i can call users from route.js file.
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'));
You should create express instance once and pass it into all modules.
route.js file
//initialize
var express = require('express');
var router = express.Router();
router.get('/', function(req, res){
res.send("Welcome to Node JS V1");
});
//modules
require('./users')(router);
require('./sessions')(router); //added for explaination
require('./comments')(router); //added for explaination
//export
module.exports.router = router;
module file (any module users, comments etc)
//initialize
module.exports = function (router) {
router.get('/users', users);
}
//APIs
function users(req, res) {
res.send("Get all users.");
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With