Express

Middlewares

var app = require('express')() app.use(function (req, res, next) { console.log('first middleware!') // call the next middleware in the chain next() }) app.use(function (req, res, next) { console.log('second middleware!') // call the next middleware in the chain next() }) app.use(function (req, res, next) { console.log('third middleware!') // end the response res.end() })

The code above illustrates a middleware chain.

  • Middlewares are declared by passing a callback function into app.use
  • Order of declaration of middlewares is important.
var app = require('express')() app.get('/action', function (req, res) { console.log('action route') res.end() }) app.post('/user', function (req, res) { console.log('user route') res.end() }) // Now the following middleware will be called before a request // is routed to any of the routes above. app.use(function (req, res, next) { console.log('first middleware!') // call the next middleware in the chain // in this case, it goes to either // - the GET /action handler, or // - the POST /user handler next() })