如何解决具有 +150k 静态页面的应用程序的最佳方法?
我有一个集成了 NextJS 的 MERN 应用程序。第一次使用 NextJS,请耐心等待。我最初在任何地方 (getServerSideProps
) 都使用了 SSR。
要点:
我想这里的理想情况是使用 getStaticProps
和 getStaticPaths
,并且在最初构建这 150k 个页面后,每周构建新添加的页面并保留我已经构建的页面因为它永远不会改变。
我怎样才能做到这一点?我应该在这里使用 revalidate
吗?我一直在文档中阅读它,但我并不完全理解它。
解决方法
您可以使用 getStaticProps
/getStaticPaths
实现这一点。
revalidate
在 getStaticProps
中用于 Incremental Static Regeneration - 在您想要更新现有生成的页面的情况下。在您的情况下,这不是您想要的,因为您提到生成的页面永远不会改变。
要实现您想要的,并允许生成新页面,您可以在 getStaticPaths
中使用 fallback: true
or fallback: blocking
。
使用 fallback: true
时,未在构建时生成的路径将在第一个请求时提供后备页面,而 Next.js 静态生成页面。完成此操作后,页面将从备用页面切换到实际的完整页面。
使用 fallback: blocking
,构建时未生成的路径将等待 Next.js 生成 HTML,然后在完成后提供页面。与 fallback: true
不同,由于没有回退,因此在页面生成之前呈现会被阻止。
在这两种情况下,页面都会被添加到预渲染页面列表中。对同一路径的后续请求将提供预先生成的页面。
请注意,next export
不支持这两个选项,以防您依赖它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。