ホームページ >ウェブフロントエンド >jsチュートリアル >`getStaticProps` および `getStaticPaths` を使用した Next.js 静的サイトのコンパイル中にフェッチ エラーが発生するのはなぜですか?
Next.js 静的サイトのコンパイルでのフェッチ エラーの原因を明らかにする
Next.js を使用して静的 Web サイトを構築する場合、これは必須ですビルドプロセス中に発生する可能性のある特定のエラーの原因を知るため。この例では、API ルートからデータを取得するために getStaticProps と getStaticPaths の両方を利用するときに npm run build 中に直面する特定の問題に対処します。
エラーの詳細
発生した主なエラーは、npm run build の実行時に API ルートから受信した無効な JSON 応答に関連しています。この応答は、API ルートのpages/api/products/[slug].js.
考えられる原因
推奨解決策
この問題を修正するには、次のようにコードをリファクタリングすることを検討してください。方法:
// /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, }; };
これらの変更を採用すると、API ルートへの依存がなくなり、無効な JSON 応答エラーが解決され、シームレスな静的 Web サイトのコンパイルが可能になります。
以上が`getStaticProps` および `getStaticPaths` を使用した Next.js 静的サイトのコンパイル中にフェッチ エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。