Maison >interface Web >js tutoriel >Pourquoi est-ce que j'obtiens des erreurs de récupération lors de la compilation du site statique Next.js avec « getStaticProps » et « getStaticPaths » ?
Découverte de la cause des erreurs de récupération dans la compilation de sites statiques Next.js
Lorsque vous utilisez Next.js pour créer un site Web statique, il est impératif pour connaître la source de certaines erreurs pouvant survenir lors du processus de construction. Dans ce cas, nous aborderons le problème spécifique rencontré lors de la construction de l'exécution de npm lors de l'utilisation à la fois de getStaticProps et de getStaticPaths pour récupérer des données à partir d'une route API.
Détails de l'erreur
L'erreur principale rencontrée est associée à une réponse JSON non valide reçue de la route API lors de l'exécution de npm run build. Cette réponse semble provenir de la route de l'API pages/api/products/[slug].js.
Causes possibles
Résolution recommandée
Pour corriger ce problème, envisagez de refactoriser votre code de la manière suivante :
// /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, }; };
En adoptant ces modifications, vous supprimerez la dépendance à l'égard de la route API, résoudrez l'erreur de réponse JSON non valide et permettrez une compilation de sites Web statiques transparente.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!