Middleware Patterns in Node.js

From the Express.js cheat sheet · Middleware · verified Jul 2026

Middleware Patterns

Create and use middleware

javascript
// Basic middleware
app.use((req, res, next) => {
  console.log(`${req.method} ${req.url}`)
  next()
})

// Error handling middleware
app.use((err, req, res, next) => {
  console.error(err.stack)
  res.status(500).send('Something broke!')
})

// Route-specific middleware
app.get('/protected', authenticate, (req, res) => {
  res.json({ data: 'secret' })
})

// Third-party middleware
const cors = require('cors')
const helmet = require('helmet')
const morgan = require('morgan')

app.use(cors())
app.use(helmet())
app.use(morgan('combined'))
💡 Middleware executes in order
✅ Always call next() or send response
⚠️ Error middleware needs 4 parameters
Back to the full Express.js cheat sheet