Heim  >  Artikel  >  Web-Frontend  >  Warum werden meine Next.js-API-Endpunkte nach der Bereitstellung nicht aktualisiert?

Warum werden meine Next.js-API-Endpunkte nach der Bereitstellung nicht aktualisiert?

Linda Hamilton
Linda HamiltonOriginal
2024-11-02 08:31:02450Durchsuche

Why are My Next.js API Endpoints Not Updating After Deployment?

Next.js-API-Endpunkte werden nach der Bereitstellung nicht aktualisiert

Problem: Daten werden über einen API-Endpunkt aus einer Datenbank abgerufen bleibt nach der Projektbereitstellung statisch.

Analyse: Das Problem ist wahrscheinlich auf das Caching zurückzuführen. In Next.js ist für API-Routen und Serverkomponenten das Caching zur Leistungsoptimierung standardmäßig aktiviert. Dieses Caching kann Datenaktualisierungen beeinträchtigen.

Lösung:

Um Caching zu verhindern und dynamische Datenaktualisierungen sicherzustellen, passen Sie das Caching-Verhalten wie folgt an:

  • Verwenden von fetch():

    • Fügen Sie die Option „revalidate“ zur fetch()-Anforderung hinzu, um ein erneutes Validierungsintervall in Sekunden anzugeben:

      fetch('https://...', { next: { revalidate: 10 } });
    • Alternativ können Sie die Cache-Option auf „No-Store“ setzen, um das Caching zu deaktivieren:

      fetch('https://...', { cache: 'no-store' });
  • Verwenden der Routensegmentkonfiguration:

    • Fügen Sie in der Datei „layout.js“, „page.js“ oder „route.js“ den folgenden Code hinzu, um das Caching für das spezifische Routensegment zu deaktivieren:

      import prisma from './lib/prisma';
      
      export const dynamic = 'force-dynamic';
      
      async function getPosts() {
        const posts = await prisma.post.findMany();
        return posts;
      }
      
      export default async function Page() {
        const posts = await getPosts();
        // ...
      }

Durch Befolgen dieser Schritte können Sie das Caching für API-Endpunkte deaktivieren und sicherstellen, dass Datenaktualisierungen umgehend nach der Bereitstellung berücksichtigt werden.

Das obige ist der detaillierte Inhalt vonWarum werden meine Next.js-API-Endpunkte nach der Bereitstellung nicht aktualisiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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