🌐
Next.js の build 時に重複した HTTP リクエストが飛ぶのを防ぐ
Next.js には Request Memoization という仕組みがあり、fetch が自動的にメモ化 (memoize) されて重複リクエストが行われないようになっている。
ただし、同じ HTTP リクエストが含まれる複数の SSG のページを build したときは、並列して SSG が行われる都合のためか、重複したリクエストが飛んでしまう。
build 時に重複した HTTP リクエストが飛ぶことを防ぎたい場合は next.config.js
に以下の設定を入れると、build 処理がシングルスレッドになり、期待通りに fetch がメモ化される。
ただし、設定名の通りこれは実験的 (experimental) な機能である。
const nextConfig = {
experimental: {
workerThreads: false,
cpus: 1
},
}
Discussion