Heim > Web-Frontend > js-Tutorial > Die häufigsten Express.js-Fehler und wie man sie behebt

Die häufigsten Express.js-Fehler und wie man sie behebt

Mary-Kate Olsen
Freigeben: 2024-11-27 18:40:14
Original
362 Leute haben es durchsucht

Top Express.js Mistakes and How to Fix Them

Express.js ist ein beliebtes Framework zum Erstellen von Webanwendungen in Node.js, aber selbst erfahrene Entwickler stoßen auf Fehler, deren Fehlerbehebung schwierig sein kann. Dieser Leitfaden behandelt einige der häufigsten Express.js-Fehler, erklärt, warum sie auftreten, und bietet praktische Lösungen, um Ihre Anwendung wieder auf Kurs zu bringen.

1. Fehler: Header können nach dem Senden nicht festgelegt werden

Dieser Fehler tritt normalerweise auf, wenn Sie versuchen, mehrere Antworten für dieselbe Anfrage zu senden. Beispielsweise könnten Sie versehentlich mehr als einmal res.send() oder res.json() in einem Routenhandler aufrufen.

Beispiel:

app.get('/example', (req, res) => {
    res.send('First response');
    res.send('Second response'); // This will throw the error.
});

Nach dem Login kopieren

Fix:
Stellen Sie sicher, dass Sie pro Anfrage nur eine Antwort senden. Verwenden Sie bedingte Logik oder Return-Anweisungen, um die weitere Ausführung nach dem Senden einer Antwort zu verhindern.

app.get('/example', (req, res) => {
    if (!req.query.param) {
        return res.status(400).send('Bad Request');
    }
    res.send('Valid Request');
});

Nach dem Login kopieren

2. Fehler: Middleware wird nicht ausgeführt

Dies geschieht, wenn die Middleware nicht richtig verknüpft ist oder next() darin nicht aufgerufen wird. Middleware-Funktionen müssen die Kontrolle explizit an die nächste Middleware oder den nächsten Routenhandler übergeben.

Beispiel:

app.use((req, res) => {
    console.log('Middleware executed');
    // Forgot to call next()
});
app.get('/test', (req, res) => {
    res.send('Hello, World!');
});

Nach dem Login kopieren

Behebung:
Rufen Sie next() auf, es sei denn, die Middleware beendet die Antwort.

app.use((req, res, next) => {
    console.log('Middleware executed');
    next(); // Pass control to the next middleware or route
});

Nach dem Login kopieren

3. Fehler: req.body Undefiniert

Wenn req.body nicht definiert ist, liegt das wahrscheinlich daran, dass Sie vergessen haben, eine Body-Parsing-Middleware wie express.json() oder express.urlencoded() zu verwenden.

Beispiel:

app.post('/submit', (req, res) => {
    console.log(req.body); // undefined
});
Nach dem Login kopieren

Behebung:

Beziehen Sie die Body-Parsing-Middleware in Ihre App-Initialisierung ein.

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

app.post('/submit', (req, res) => {
    console.log(req.body); // Now it works
    res.send('Data received');
});
Nach dem Login kopieren

4. Fehler: Route nicht gefunden (404)

Dieser Fehler tritt auf, wenn keine Route mit der eingehenden Anfrage übereinstimmt. Standardmäßig stellt Express keinen 404-Handler bereit.

Behebung:

Fügen Sie am Ende Ihrer Routendefinitionen eine Catch-All-Middleware hinzu, um 404-Fehler zu behandeln.

app.use((req, res) => {
    res.status(404).send('Page Not Found');
});

Nach dem Login kopieren

5. Fehler: EADDRINUSE (Port wird verwendet)

Dies geschieht, wenn ein anderer Prozess bereits den Port verwendet, an den Ihre App eine Bindung herstellen möchte.

Error: listen EADDRINUSE: address already in use :::3000
Nach dem Login kopieren

Behebung:
Suchen und beenden Sie den Konfliktprozess oder verwenden Sie einen anderen Port. Sie können den Fehler auch programmgesteuert beheben:

const port = process.env.PORT || 3000;

app.listen(port, () => {
    console.log(`Server running on port ${port}`);
}).on('error', (err) => {
    if (err.code === 'EADDRINUSE') {
        console.error(`Port ${port} is already in use. Please use a different port.`);
    }
});

Nach dem Login kopieren

Express.js-Fehler können frustrierend sein, aber das Verständnis ihrer Grundursachen macht es einfacher, sie zu beheben. Mit diesen allgemeinen Korrekturen sind Sie besser für das Debuggen Ihrer Anwendungen gerüstet und sorgen dafür, dass Ihre Projekte reibungslos laufen.

Wenn Sie diesen Leitfaden hilfreich fanden, klicken Sie auf das ❤️-Symbol und folgen Sie mir für weitere JavaScript-Tipps und -Tricks!

Das obige ist der detaillierte Inhalt vonDie häufigsten Express.js-Fehler und wie man sie behebt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage