En server-side `fetch` misslyckades med nätverksfel, vanligtvis för att en server-komponent försöker nå `localhost`.
Förklaring
I server-komponenter och Route Handlers körs fetch i Node.js, inte i webbläsaren. Anrop till http://localhost:3000 fungerar under lokal utveckling men kraschar i produktionsmiljöer där den egna servern inte är åtkomlig via localhost.
Ett vanligt misstag är att hämta data från egna API-routes via fetch('http://localhost:3000/api/data') i en server-komponent. Det är ett onödigt nätverkshopp. Server-komponenter kan importera och anropa logiken direkt utan HTTP.
TypeError: fetch failed utan mer kontext beror ofta på ECONNREFUSED (ingen server lyssnar på adressen) eller ENOTFOUND (värdnamnet löser inte upp).
Vanliga orsaker
Server-komponent eller Route Handler som fetchär egna API-routes via absolut localhost-URL. Produktionsmiljö som saknar nätverksaccess till den angivna adressen.
Lösning
Importera datahämtningslogiken direkt i stället för att gå via HTTP:
// Onödigt nätverksanrop
const data = await fetch('http://localhost:3000/api/posts').then(r => r.json());
// Bättre — importera logiken direkt
import { getPosts } from '@/lib/posts';
const data = await getPosts();För externa API:er, kontrollera att URL:en är korrekt och att produktionsmiljön har utgående nätverksaccess till tjänsten.