Performance: Compression middleware
HIGH IMPACT
Compression middleware affects the time it takes for the browser to receive and render content by reducing the size of data sent over the network.
import express from 'express'; import compression from 'compression'; const app = express(); // Compress only text-based responses app.use(compression({ filter: (req, res) => { const contentType = res.getHeader('Content-Type') || ''; return /text|json|javascript|css/.test(contentType); } })); app.get('/', (req, res) => { res.sendFile('large-image.png'); });
import express from 'express'; import compression from 'compression'; const app = express(); // Compress all responses including already compressed files app.use(compression({ filter: () => true })); app.get('/', (req, res) => { res.sendFile('large-image.png'); });
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Compress all responses including images | No impact | No impact | No impact | [X] Bad |
| Compress only text-based responses | No impact | No impact | No impact | [OK] Good |