NextJS: getStaticProps revalidate not working

Dar*_*ong 7 javascript reactjs server-side-rendering next.js google-cloud-firestore

I have this NextJS site where there is this getStaticProps that load data from Firestore.

I have this:

return {
    props: {
      allPosts: posts,
    },
    revalidate: 60,
  }
Run Code Online (Sandbox Code Playgroud)

where from what I know will load data from firebase every one minute. However, it doesn't seem to work and data are just not updated.

Is this revalidate an experimental feature? Anyway that I can get it to work? Else I would have to rebuild and export frequently.

Dan*_*ila 5

如果你想要增量静态再生(revalidate标志为getStaticProps),那么你需要运行 NextJs 服务器(next start命令),没有服务器就没有任何东西可以执行请求并生成新的静态文件。

next export 仅使用构建时可用的数据生成一次静态文件。

  • 我发现 Next.js 问题的数量绝对令人恐惧,人们回答或评论“只需转移到 Vercel”或类似的问题,然后它就会得到赞成。令人兴奋。没有任何其他语言的库对特定托管提供商有如此强烈的偏好。这样做的充分理由为零。这是责任的完全结合。这类似于购买一辆只能由一名可能随时退休的特定机械师维修的汽车。当所有问题的解决方案都是通过 Vercel 进行托管时,那就是供应商锁定。 (8认同)
  • @Danila,你可以不同意我的观点,但这并没有给你一个理由告诉我我不能发表评论。不酷。 (8认同)
  • 今天早上,我将托管提供商更改为 Vercel,它可以直接使用。我现在会坚持使用 Vercel 而不是 Firebase 托管。 (2认同)
  • 我不知道 Vercel 还会存在多久,我不知道他们是否能盈利,他们是否有良好的管理,他们是否会明天醒来并决定开始向每小时 100 美元的收费收费。使用他们的服务。我确实知道,对于任何其他技术堆栈,我都会选择托管地点。我可以在 AWS、GCP、IBM、Linode、Heroku、Digital Ocean 上进行操作。我接管了一个 Next.js 应用程序,我感觉自己被骗了。有人告诉我它可以在任何地方托管。这在技术上是正确的,但......实际上并不正确。这实际上是我第六次看到这个。 (2认同)
  • @Neil,你错了,Next.js 与 Express 没有什么不同,它可以在任何支持 Node.js 的环境中托管。Next.js 还可以输出静态文件,这些文件根本不需要 Node,只需通过 Nginx 即可托管。在您了解 Next.js 是什么以及它能做什么或不能做什么之前,请不要发表此类评论。 (2认同)