ਡਾਇਨਾਮਿਕ ਰੂਟਸ ਵੇਰੀਏਬਲ URL ਸੈਗਮੈਂਟਸ ਨੂੰ ਮੇਲ ਕਰਨ ਲਈ ਬਰੈਕਟ ਕੀਏ ਫੋਲਡਰ ਨਾਮ ਵਰਤਦੇ ਹਨ, ਅਤੇ generateStaticParams Next.js ਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ build ਸਮੇਂ ਕਿਹੜੇ ਪੰਨੇ pre-render ਕਰਨੇ ਹਨ (SSG/ISR ਲਈ)।
ਡਾਇਨਾਮਿਕ ਸੈਗਮੈਂਟ
() {
post = (params.);
;
}
ਡਾਇਨਾਮਿਕ ਰੂਟਸ ਵੇਰੀਏਬਲ URL ਸੈਗਮੈਂਟਸ ਨੂੰ ਮੇਲ ਕਰਨ ਲਈ ਬਰੈਕਟ ਕੀਏ ਫੋਲਡਰ ਨਾਮ ਵਰਤਦੇ ਹਨ, ਅਤੇ generateStaticParams Next.js ਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ build ਸਮੇਂ ਕਿਹੜੇ ਪੰਨੇ pre-render ਕਰਨੇ ਹਨ (SSG/ISR ਲਈ)।
() {
post = (params.);
;
}
// Tell Next.js the list of slugs to build statically
export async function generateStaticParams() {
const posts = await getAllPosts();
return posts.map(post => ({ slug: post.slug }));
// → builds /blog/post-1, /blog/post-2, ... as static HTML at build time
}
ਇਸ ਤੋਂ ਬਿਨਾਂ, ਇੱਕ ਡਾਇਨਾਮਿਕ ਰੂਟ on-demand (SSR) ਵਿੱਚ ਰੈਂਡਰ ਹੁੰਦਾ ਹੈ। ਇਸ ਨਾਲ, Next.js build ਵਿੱਚ ਹਰ ਵਾਪਸ ਆਏ ਪਰਾਮ ਲਈ ਇੱਕ static ਪੰਨਾ pre-generate ਕਰਦਾ ਹੈ — ਤੁਹਾਨੂੰ dynamic ਪੰਨਿਆਂ ਦੇ ਜਾਣੇ ਸੈਟ ਲਈ SSG ਦੀ ਗਤੀ ਦਿੰਦਾ ਹੈ (ਹਰ ਬਲੌਗ ਪੋਸਟ, ਹਰ ਉਤਪਾਦ)।
// what happens for a slug NOT returned by generateStaticParams?
export const dynamicParams = true; // (default) render unknown slugs on-demand (ISR-like)
// export const dynamicParams = false; // return 404 for any slug not pre-built
ਇਹ ਤੁਹਾਨੂੰ ਆਪਣੇ ਪ੍ਰਮੁੱਖ/ਸਭ ਤੋਂ ਆਮ ਪੰਨਿਆਂ ਨੂੰ pre-build ਕਰਨ ਅਤੇ ਫਿਰ ਵੀ long tail ਨੂੰ serve (ਜਾਂ 404) ਕਰਨ ਦਿੰਦਾ ਹੈ।
app/shop/[...categories]/page.tsx → /shop/a/b/c (params.categories = ['a','b','c'])
app/[lang]/[slug]/page.tsx → multiple params: { lang, slug }
export async function generateStaticParams() {
return [{ lang: "en", slug: "about" }, { lang: "vi", slug: "about" }];
}
ਇਹ ਜੋੜਾ ਇਸ ਬਾਰੇ ਹੈ ਕਿ ਤੁਸੀਂ dynamic ਪੰਨਿਆਂ ਦੇ ਵੱਡੇ ਸੈਟਸ (ਬਲੌਗਜ਼, ਈ-ਕਾਮਰਸ ਕੈਟਲਾਗਜ਼, ਡੋਕੂਮੈਂਟਸ) ਨੂੰ static ਤੌਰ ਤੇ generate ਕਿਵੇਂ ਕਰਦੇ ਹੋ top ਪ੍ਰਦਰਸ਼ਨ ਅਤੇ SEO ਲਈ, ਜਦਕਿ dynamicParams pre-built ਨਾ ਕੀਤੇ ਪੰਨਿਆਂ ਲਈ fallback ਨਿਯੰਤਰਣ ਕਰਦਾ ਹੈ।
generateStaticParams (ਕਿਹੜੇ ਪੰਨੇ pre-build ਕਰਨੇ ਹਨ) ਅਤੇ caching/revalidate ਵਿਕਲਪਾਂ ਨੂੰ ਸਮਝਣਾ App Router ਵਿੱਚ dynamic ਸਮੱਗਰੀ ਲਈ SSG/ISR ਕਰਨ ਦਾ ਮੂਲ ਹੈ।