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