Express.js ist eines der beliebtesten Frameworks zum Erstellen von Node.js-Anwendungen. Aufgrund seiner geringen Größe ist es schnell, aber wenn Ihre App wächst, können sich Leistungsengpässe einschleichen. In diesem Blog teile ich fünf praktische Tipps zur Optimierung Ihrer Express.js-App im Hinblick auf Geschwindigkeit und Skalierbarkeit.
Middleware ist das Rückgrat jeder Express.js-App, aber unnötige oder schlecht implementierte Middleware kann die Arbeit verlangsamen.
Nur erforderliche Middleware laden:Globale Middleware für Routen vermeiden, die sie nicht benötigen.
Beispiel: Body-Parser nur auf Routen anwenden, die eine JSON-Nutzlast erwarten.
const express = require('express'); const app = express(); const bodyParser = require('body-parser'); // Use body-parser only for specific routes app.post('/api/data', bodyParser.json(), (req, res) => { res.send('Data received'); });
Caching reduziert die Notwendigkeit wiederholter Datenbankabfragen oder API-Aufrufe. Tools wie Redis oder HTTP-Caching-Header können die Antwortzeiten erheblich verbessern.
Beispiel mit Redis:
const redis = require('redis'); const client = redis.createClient(); const app = require('express')(); app.get('/api/resource', (req, res) => { const cacheKey = 'resource'; client.get(cacheKey, (err, cachedData) => { if (cachedData) { res.send(JSON.parse(cachedData)); } else { const data = fetchDataFromDatabase(); // Simulated DB call client.setex(cacheKey, 3600, JSON.stringify(data)); // Cache for 1 hour res.send(data); } }); });
HTTP-Caching:
app.use((req, res, next) => { res.set('Cache-Control', 'public, max-age=3600'); // Cache for 1 hour next(); });
Große Nutzlasten können die Reaktionszeiten verlangsamen. Durch die Aktivierung der Gzip-Komprimierung kann die Nutzlastgröße reduziert und die Geschwindigkeit verbessert werden.
const compression = require('compression'); const express = require('express'); const app = express(); app.use(compression()); // Compress all routes
Diese einfache Ergänzung kann die Antwortgrößen um bis zu 70 % reduzieren!
Langsame Datenbankabfragen sind oft die Hauptursache für eine schlechte App-Leistung.
Tipps:
const User = require('./models/User'); // Instead of fetching all users app.get('/users', async (req, res) => { const users = await User.find().limit(20).skip(0); // Use pagination res.send(users); });
HTTP/2 ermöglicht Multiplexing und Header-Komprimierung und reduziert so die Latenz für statische Assets. Die Kombination mit einem CDN beschleunigt die Bereitstellung weiter, indem statische Assets näher an den Benutzern zwischengespeichert werden.
Einrichtung für HTTP/2 mit Express:
const http2 = require('http2'); const fs = require('fs'); const express = require('express'); const app = express(); const options = { key: fs.readFileSync('./ssl/key.pem'), cert: fs.readFileSync('./ssl/cert.pem'), }; http2.createSecureServer(options, app).listen(8443, () => { console.log('HTTP/2 server running on port 8443'); });
Durch effizientes Management der Middleware, Caching, Komprimierung von Antworten und Optimierung von Datenbankabfragen können Sie die Leistung erheblich verbessern. Setzen Sie diese Tipps um und stellen Sie sicher, dass Ihre App rasend schnell läuft!
Wenn Sie diesen Blog hilfreich fanden, klicken Sie auf das ❤️-Symbol und folgen Sie mir für weitere JavaScript-Tipps und -Tricks!
Das obige ist der detaillierte Inhalt vonTop-IPs zum Aufladen Ihrer Express.js-App für blitzschnelle Leistung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!