此问题在此处已有答案:
How to add new pages without rebuilding an app with +150k static pages?(1个答案)
2天前关闭。
我的数据库中有30,000种产品,但其中只有几百种产品有实际有用的信息。
我想静态地生成/product/[productId]
页面,以加快加载速度。
在Vercel上静态生成所有30,000个页面失败,因为它花费的时间太长。
有没有办法为几百个productId
静态地生成/product/[productId]
页面,而为其余的动态地生成/product/[productId]
页面?
2条答案
按热度按时间yws3nbqq1#
您可以创建一个中间件页面,它会将您引到适当的页面。
假设
product1
应该动态生成,而product2
应该静态生成。您可以让
/product/[productId]
将product1
指涉到/product/dynamic/[productId]
,并将product2
指涉到/product/static/[productId]
。/product/dynamic/[productId]
中,您可以动态生成产品。/product/static/[productId]
中,静态生成产品。6vl6ewon2#
我发现
fallback: true
是这个问题的解决方案。https://nextjs.org/docs/api-reference/data-fetching/get-static-paths