Heim >Web-Frontend >js-Tutorial >Warum erhalte ich beim Erstellen meiner statischen Next.js-Site in der Produktion einen „Abruffehler'?
Beim Erstellen einer Next.js-Website für die Produktion kann es bei der Verwendung von getStaticProps zu einem „Abruffehler“ kommen und getStaticPaths, um Daten von einer API-Route abzurufen. Dieser Fehler kann aus mehreren Gründen auftreten.
Im bereitgestellten Code rufen Sie eine interne API-Route auf, /api/products/${slug} , aus getStaticProps. Dies wird nicht empfohlen, da API-Routen während der Erstellungszeit nicht verfügbar sind, was zum Abruffehler führt.
Anstatt eine API-Route abzurufen, sollten Sie schreiben serverseitigen Code direkt in getStaticProps und getStaticPaths. Diese werden nur serverseitig ausgeführt und ermöglichen Ihnen das direkte Schreiben von Code mithilfe serverseitiger Ressourcen wie Datenbankabfragen.
Hier ist eine geänderte Version Ihres Codes:
// /pages/product/[slug] import db from '../../../data/products' // Remaining code.. export const getStaticProps = async ({ params: { slug }, locale }) => { const result = db.filter(item => item.slug === slug) const data = result.filter(item => item.locale === locale)[0] const { title, keywords, description } = data return { props: { data, description, keywords, title } } } export const getStaticPaths = async () => { const paths = db.map(({ slug, locale }) => ({ params: { slug: slug }, locale })) return { fallback: true, paths, } }
Durch die direkte Verwendung der Datenquelle in getStaticProps und getStaticPaths vermeiden Sie den Aufruf interner API-Routen während der Erstellungszeit, wodurch der Abruf aufgelöst wird Fehler.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Erstellen meiner statischen Next.js-Site in der Produktion einen „Abruffehler'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!