En klientkomponent försöker importera Node.js-modulen `fs`, som inte finns i webbläsaren.
Förklaring
fs är en inbyggd Node.js-modul för filsystemoperationer. Den finns inte i webbläsaren och kan inte bundlas in i klientkod. Om en fil som importerar fs hamnar i ett klientbundle visas det här felet.
I Next.js kan server-komponenter och API-routes använda fs eftersom de körs i Node.js. Problemet uppstår när kod som använder fs antingen ligger i en klientkomponent direkt, eller importeras av en klientkomponent indirekt.
Andra Node.js-moduler som path, crypto, os, och child_process ger samma fel av samma skäl.
Vanliga orsaker
En 'use client'-komponent importerar fs direkt. En delad util-modul som använder fs importeras av en klientkomponent.
Lösning
Flytta fs-anrop till server-komponenter, Server Actions, eller Route Handlers:
// app/api/content/route.js — körs på servern
import fs from 'fs/promises';
export async function GET() {
const content = await fs.readFile('data.json', 'utf-8');
return Response.json(JSON.parse(content));
}Klientkomponenten hämtar sedan data via ett API-anrop i stället för att läsa från filsystemet direkt.