Aufdecken der Ursache von Abruffehlern bei der statischen Site-Kompilierung von Next.js
Wenn Sie Next.js zum Erstellen einer statischen Website verwenden, ist dies unerlässlich um die Quelle bestimmter Fehler zu kennen, die während des Build-Prozesses auftreten können. In diesem Fall befassen wir uns mit dem spezifischen Problem, das beim Erstellen des npm-Laufs auftritt, wenn sowohl getStaticProps als auch getStaticPaths zum Abrufen von Daten aus einer API-Route verwendet werden.
Fehlerdetails
Der primäre aufgetretene Fehler hängt mit einer ungültigen JSON-Antwort zusammen, die von der API-Route beim Ausführen von npm run build empfangen wurde. Diese Antwort scheint von der API-Routenseiten/api/products/[slug].js zu stammen.
Mögliche Ursachen
Empfohlene Lösung
Um dieses Problem zu beheben, Erwägen Sie, Ihren Code wie folgt umzugestalten:
// /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 Übernahme dieser Änderungen beseitigen Sie die Abhängigkeit von der API-Route, beheben den ungültigen JSON-Antwortfehler und ermöglichen eine nahtlose statische Website-Kompilierung.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich Abruffehler während der statischen Site-Kompilierung von Next.js mit „getStaticProps' und „getStaticPaths'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!