Next.js 使用+;150k静态页面?
我有一个MERN应用程序,其中集成了NextJS。第一次使用NextJS,请容忍我。我最初在任何地方都使用了SSR(Next.js 使用+;150k静态页面?,next.js,static-site-generation,Next.js,Static Site Generation,我有一个MERN应用程序,其中集成了NextJS。第一次使用NextJS,请容忍我。我最初在任何地方都使用了SSR(getServerSideProps) 要点: 我有超过150000页的静态内容,它永远不会改变 每周我都会添加大约+100个新页面 我想这里的理想情况是使用getStaticProps和getstaticpath,在最初构建了15万页之后,每周只构建新添加的页面,并保持我已经构建的页面不变,因为它永远不会改变 我怎样才能做到这一点?我应该在这里使用revalidate?我一直
getServerSideProps
)
要点:
- 我有超过150000页的静态内容,它永远不会改变
- 每周我都会添加大约+100个新页面
getStaticProps
和getstaticpath
,在最初构建了15万页之后,每周只构建新添加的页面,并保持我已经构建的页面不变,因为它永远不会改变
我怎样才能做到这一点?我应该在这里使用
revalidate
?我一直在文档中阅读,但我不完全理解它。您可以使用getStaticProps
/getstaticpath
实现这一点
revalidate
用于getStaticProps
for-在需要更新现有生成页面的情况下。在您的情况下,这不是您想要的,因为您提到生成的页面将永远不会更改
要实现您想要的,并允许生成新页面,您可以在getstaticpath
中使用
使用fallback:true
时,在构建时未生成的路径将在第一个请求上作为回退页面,而Next.js静态生成页面。完成此操作后,页面将从回退页面切换到实际的完整页面
使用fallback:blocking
,构建时未生成的路径将等待Next.js生成HTML,然后在完成后为页面提供服务。与fallback:true
不同,由于没有回退,因此在生成页面之前,渲染将被阻止
在这两种情况下,页面都会添加到预呈现页面的列表中。对同一路径的后续请求将服务于预生成的页面
请注意,
下一次导出
不支持这两个选项,以防您依赖它。谢谢!我用重新验证数据误导了退路。我将仅在列出这些150k静态页面的页面中使用getStaticProps+revalidate,因为列表每周都会更改。