Please Kindly Share To Your Social Media
If you just upgraded your Express version to 4.* you will find a lot of differences. The most important stuff added to version 4 is Router API that provides us a Flexible Routing and RESTful. In any nodejs project, putting all the routes and its code inside server.js / app is terrible.
Here's the easy way to separate Routes in Express 4 .
Suppose you've created a fresh express 4 (check here for installation ) . Now lets coding .
by the way your folder structure should be like this
-project
--node_modules
--routes
----index.js
--server.js
see that red things, create them yourself.
server.js
var express = require('express'),
app = express();
/*
Your middlewares or setups usually around here
*/
//API Router
var router = express.Router();// calling the outside routes
var index = require('./routes/index').router;
app.use('/',index);
//start Server
var server = app.listen(3000,function(){
console.log("Listening to port %s",server.address().port);
});
routes/index.js
var express = require('express');
var router = express.Router();
router.get('/',function(req,res){
res.send("Welcome to Node JS");
});
router.get('/about',function(req,res){
res.send("This is About page");
});
/*RESTful API Router*/
var api = router.route('/api/v1/user');
//middleware api
api.all(function(req,res,next){
/*Do stuffs here when a call to api route invoked*/
console.log(req.method,req.url);
next();
});
//GET verb
api.get(function(req,res){
//Do stuffs here...
res.send("Get list user ...");
});
//POST verb
api.post(function(req,res){
//Do stuffs here...
res.send("Post a user ...");
});
//PUT verb
api.put(function(req,res){
//Do stuffs here...
res.send("Edit / modify a user ...");
});
//DELETE verb
api.delete(function(req,res){
//Do stuffs here...
res.send("Delete a user ...");
});
//this line is the Master
module.exports.router = router;
Now run your project
node server.js
Fire in your browser
localhost:3000 localhost:3000/about localhost:3000/api/v1/user
Cheerss!!!!