expressjs write multiple middleware and import it to the main file

Issue

I have a script which holds a middleware like:

module.exports = function (req, res, next) {
  req.requestTime = Date.now()
  next()
}

In a file I can import this but how can I write multiple middleware and export all of them and import it?

I am learning express and got stuck here 🙂

Solution

write multiple middlewares in one file and exprot them all.

function middleware1(req, res, next) { req.requestTime = Date.now(); next() }
function middleware2(req, res, next) { req.requestTime = Date.now(); next() }
function middleware3(req, res, next) { req.requestTime = Date.now(); next() }

module.exports = {
    middleware1 : middleware1,
    middleware2 : middleware2,
    middleware3 : middleware3
}

then if you want to import them you can either import all of middlewares like

 var middleware = require("./middlewares") 
  // name of middleware file in require

then use them like

app.get('/profile', middleware.middleware1, function (req, res) {
   // do your stuff
}); 

Or you can import a single middleware by adding middleware function name in require

 var middleware1 = require("./middlewares").middleware1 

then use them like

app.get('/profile', middleware1, function (req, res) {
   // do your stuff
});

Answered By – Ahmed Hassan

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published