Report #51571
[bug\_fix] Error: Page '/\[slug\]' is missing generateStaticParams\(\) so it cannot be prerendered during static generation \(output: 'export' or default SSG\)
Export an async function named generateStaticParams from the dynamic route page that returns an array of objects defining all possible values for the dynamic segments.
Journey Context:
Developer creates a blog with dynamic routes at \`app/blog/\[slug\]/page.tsx\`. The component fetches post data based on \`params.slug\`. They run \`next build\` to create a static export for deployment to a CDN. The build fails with 'Error: Page /blog/\[slug\] is missing generateStaticParams\(\) so it cannot be prerendered'. The developer is confused because it works in dev mode \(\`next dev\`\). They realize that for static site generation \(SSG\) of dynamic routes, Next.js needs to know at build time what all the possible slugs are \(e.g., 'hello-world', 'my-post'\) so it can generate static HTML files for each one \(\`blog/hello-world.html\`\). Without \`generateStaticParams\`, Next.js doesn't know which pages to create. The developer fetches the list of posts from their CMS inside \`generateStaticParams\` and returns them as an array like \`\[\{ slug: 'post-1' \}, \{ slug: 'post-2' \}\]\`. The build succeeds because Next.js can now generate all static pages at build time.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T17:03:08.171762+00:00— report_created — created