Was macht Next.js App Router?
Bewahre die unterstützte Version und Konfiguration der App. Bevorzuge serverseitiges Rendern und direkte Server-Lesevorgänge, wo sie sinnvoll sind; behalte interaktives und Live-Browser-Verhalten bei, wo es benötigt wird.
Kontext herstellen
Überprüfe package.json, Lockfile, Routen-Ordner, next.config.* und Projektanweisungen. Identifiziere die installierten Next.js/React-Versionen, App vs. Pages Router, Laufzeit-/Deployment-Einschränkungen und ob Cache Components aktiviert ist. In Monorepos löse diese aus der betroffenen App auf. Aktualisiere keine Pakete oder aktiviere Funktionen nur, um einem Beispiel zu entsprechen.
Bevorzuge versionsabgestimmte Dokumentation, die bei Next.js 16.2+ im Bundle unter node_modules/next/dist/docs/ verfügbar ist, wenn vorhanden. Andernfalls konsultiere die offizielle Dokumentation für die unterstützte Version. Die Live-Dokumentation kann eine neuere Nebenversion beschreiben; überprüfe die API-Versionshistorie und Konfiguration vor der Verwendung. Unterscheide stabile APIs, experimentelle Optionen, Veraltungen und Projektkonventionen.
Die relevante Ressource auswählen
Lies nur die für die Aufgabe benötigten Ressourcen; folge deren offiziellen Links, wenn eine Version oder ein Verhalten unsicher ist.
| Aufgabe | Ressource |
|---|---|
| Server/Client-Grenzen, Komposition, Serialisierung | Server Components |
| Lesevorgänge, Streaming, Browser-Daten, Aktionen, HTTP-Endpunkte | Datenabruf |
| Vorhandener Cache-Modus, Cache Components, privater/entfernter Cache, Invalidierung | Caching |
| Layouts, dynamische Routen, Suche, parallele/abfangende Routen | Routing |
| Anfrage-Weiterleitungen/-Umschreibungen und optimistische Authentifizierungs-Gates | Proxy |
| Erwartete Fehler, Laden, Wiederherstellung, 404-Antwortsemantik | Fehlerbehandlung |
| Metadaten-Exporte, Vererbung und SEO-Integration | Metadaten |
| Bild-/Schriftart-Konfiguration und Ladekompromisse | Assets |
| Migration von Incremental Pages zu App | Migration |
| Gezielte Haupt-/Nebenversions-Upgrades | Versionsänderungen |
Entscheidungen priorisieren
- Schütze Geheimnisse und Benutzerdaten. Authentifiziere und autorisiere Lesevorgänge/Mutationen in der Nähe der Daten, validiere nicht vertrauenswürdige Eingaben und halte personenbezogene Daten aus einem falsch geteilten Cache fern. Proxy- und UI-Sichtbarkeit sind keine ausreichende Autorisierung.
- Bewahre Korrektheit über Versionen und Rendermodi hinweg. Async-Request-APIs, Cache-Voraussetzungen, Routenkonventionen und Recovery-Props hängen von der installierten Version/Konfiguration ab.
- Entferne nachgewiesene Wasserfälle und unnötigen Client-Code. Parallelisiere unabhängige Arbeit; wähle Suspense-Grenzen, die nützliche UI bewahren. Client-seitiges Abrufen bleibt geeignet für Polling, browser-only Zustand und interaktive Aktualisierungen.
- Stimme Caching, Prefetch und Asset-Hinweise auf Aktualität, Deployment und gemessenes Verhalten ab. Dies sind Entscheidungen, keine Voraussetzungen für jede App Router-App.
Verwende Server Components für server-only Arbeit. Füge 'use client' an einer sinnvollen Modulgrenze für Interaktion hinzu; es muss kein Blatt sein. Verwende eine Server Action für UI-Mutationen, wenn angemessen, oder einen Route Handler für einen HTTP-Vertrag (einschließlich Browser-Clients). Keines ersetzt die Autorisierung.
Die tatsächliche Änderung validieren
Führe die vorhandenen Typprüfungs-, Lint- und Build-Befehle der betroffenen App aus, wenn verfügbar. Teste das Verhalten, das fehlschlagen kann: authentifizierte direkte Anfragen, isolation zwischen Benutzern, Aktualität nach Mutation, harte/weiche Navigation, Fehler und Laden. Bezeichne einen Code-Snippet nicht als produktionsreif, wenn Importe, Auth-Helfer oder Persistenz Platzhalter sind. Gib an, was ausgeführt wurde und was ungetestet bleibt.
Bei Überprüfungen führe mit umsetzbaren Fehlern und deren Versions-/Konfigurationsbereich. Trenne optionale Verbesserungen von Korrektheitsproblemen. Für die Implementierung erkläre die gewählte Grenze/den Cache-Modus, das geänderte Verhalten und die Verifizierung.
Die Quellüberprüfung ist begrenzt, keine pauschale Zertifizierung. Siehe SOURCES.md für kanonische Links, anwendbare Versionen/Konfigurationen, geprüfte Abschnitte, Upstream-Daten und die Aktualitätspolitik. Die Pilot-Überprüfungs-/Evaluierungsaufzeichnungen des Repositorys sind Wartungsnachweise und werden zur Laufzeit nicht benötigt.