Next.js force-static Pages Require Dev Server Restart
Pages with export const dynamic = 'force-static' and export const revalidate = false are fully pre-rendered at build time via generateStaticParams(). In development mode, this means:
New MDX files added to a content directory are not picked up by hot reload.
New database entries are not reflected until the dev server restarts.
Changes to existing MDX files may or may not trigger recompilation depending on webpack's file watcher.
export const dynamic = 'force-static'
export const revalidate = false
export async function generateStaticParams() {
// This runs ONCE at server start in dev mode
const posts = getContentByType("news")
return posts.map(p => ({ slug: p.slug }))
}
The generateStaticParams() function executes once when the dev server starts. Adding a new row to the database or a new .mdx file does not re-trigger it.
To see new content in dev: kill the server (fuser -k 3000/tcp), remove the lock file if needed (rm .next/dev/lock), and restart. There is no hot-reload workaround without changing the page to force-dynamic (which sacrifices static generation).
In production builds (npm run build), this is not an issue because generateStaticParams() runs during the build and all pages are pre-rendered at that point.
Next.js force-static Pages Require Dev Server Restart
Pages with
export const dynamic = 'force-static'andexport const revalidate = falseare fully pre-rendered at build time viagenerateStaticParams(). In development mode, this means:The
generateStaticParams()function executes once when the dev server starts. Adding a new row to the database or a new.mdxfile does not re-trigger it.To see new content in dev: kill the server (
fuser -k 3000/tcp), remove the lock file if needed (rm .next/dev/lock), and restart. There is no hot-reload workaround without changing the page toforce-dynamic(which sacrifices static generation).In production builds (
npm run build), this is not an issue becausegenerateStaticParams()runs during the build and all pages are pre-rendered at that point.