Express JS Router
Written By: Avinash Malhotra
Updated on
Routing
Express JS Basic Routing is done using basic http methods like GET, POST and so on. We have done basic routing in last article using GET and POST.
See Examples of basic routing
Express JS GET
import express from 'express';
const app=express();
app.get('/',(req,res)={
console.log("get method);
res.send('get');
});
Express JS POST
import express from 'express';
const app=express();
app.post('/',(req,res)={
console.log("post method);
res.send('post');
});
Express Router
Express JS use express.Router class to create modular and mountable route handlers. The Router instance also known as Mini-app
, is a complete middleware routing system in ExpressJS.
import express from 'express';
const router=express.Router();
Router.get
Now we are using Router.use to add a middleware function. We will create two modules, one for admin and second for user.
Create admin route
/* admin.js */
import express from 'express';
const router=express.Router();
router.get('/',(req,res)=>{
console.log("hi admin");
res.status(200).send("hi admin");
});
module.exports=router;
Run route in main app
/* app.js */
import express from 'express';
const app=express();
import admin from './admin.js';
app.use('/admin',admin);
app.listen(3000)
hi admin
Router Example
In the example below, we are using two different modules , admin and user.
Admin route
/* admin.js */
import express from 'express';
const router=express.Router();
// middleware specific to admin
router.use(function timeLog (req, res, next) {
console.log('Admin login at: ', Date.now())
next()
});
router.get('/',(req,res)=>{
console.log("hi admin");
res.status(200).send("hi admin");
});
module.exports=router;
User route
/* user.js */
import express from 'express';
const router=express.Router();
// middleware specific to user
router.use(function timeLog (req, res, next) {
console.log('User login at: ', Date.now())
next()
});
router.get('/',(req,res)=>{
res.status(200).send("hi user");
});
module.exports=router;
Main App
/* app.js */
import express from 'express';
const app=express();
import admin from './admin.js';
import user from './user.js';
app.use('/admin',admin);
app.use('/user',user);
app.listen(3000,()=>{ console.log('server running')})
Run App
server running
Now lets open both admin and user pages one by one to see routing. Open a web browser and type following URLs one by one.
Admin login at: 1589455931358
User login at: 1589455932090