我有多个项目从CMS. /items/1一直到/items/9999。内容是不可变的,所以我不必担心revalidate。然而,项目确实得到添加到CMS频繁,也许一天多次。我想做一个静态网站。我怎样才能添加新的静态页面增量?CMS不是由我处理的,所以我不可能添加一个钩子。
/items/1
/items/9999
revalidate
iqjalb3h1#
根据文档,默认情况下,generateStaticParams函数在构建时未静态生成的路由段参数将按需生成。这些未生成的段将使用流服务器呈现。这基本上相当于fallback: true在pages文件夹页面组件上的getStaticPaths函数上。如果CMS中不存在请求的数据,请确保对页面组件执行适当的检查。这样,您可以抛出Not Found错误,并使用not-found.js文件呈现404 UI。
generateStaticParams
fallback: true
pages
getStaticPaths
import { notFound } from 'next/navigation'; export default async function Profile({ params }) { const user = await fetchUser(params.id); if (!user) { notFound(); } // ... }
1条答案
按热度按时间iqjalb3h1#
根据文档,默认情况下,
generateStaticParams
函数在构建时未静态生成的路由段参数将按需生成。这些未生成的段将使用流服务器呈现。这基本上相当于fallback: true
在pages
文件夹页面组件上的getStaticPaths
函数上。如果CMS中不存在请求的数据,请确保对页面组件执行适当的检查。这样,您可以抛出Not Found错误,并使用not-found.js文件呈现404 UI。