首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Next.js静态生成

Next.js静态生成
EN

Stack Overflow用户
提问于 2020-04-29 18:14:15
回答 2查看 988关注 0票数 0

我用next.js建立了一个网站,指南上说next.js有两种形式的预渲染:

静态生成(推荐):HTML是在构建时生成的,并将在每个请求中重用。服务器端呈现:在每个请求上生成HTML。

如果我使用的是静态生成,那么在我的页面中我有以下代码:

代码语言:javascript
复制
export async function getStaticProps({ params }) {
    const fetchedData = await axios.get(API_URL);

    return {
        props: {
            fetchedData
        }
    }
}

这是否意味着此功能将只在构建时执行一次(当我正在部署网站),然后它意味着将显示在网站上的数据将是从部署之日起的旧数据?如果是这样的话,我如何强迫next.js每天重建这个页面?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-05 17:48:06

答案是肯定的,将提供的数据是在构建时(例如部署时间)获取的数据,所以基本上如果API上的数据发生变化,站点仍然有旧的数据。

关于第二个问题--如何强迫next.js每隔一段时间重新构建页面--我找到了适合我的解决方案(因为我使用的是Vercel托管):

https://vercel.com/docs/v2/more/deploy-hooks?query=Deploy%20Hooks#

票数 2
EN

Stack Overflow用户

发布于 2020-10-12 11:08:47

我刚刚开始使用next.js。我用的是火药库主机。可以在请求时调用getStaticProps。

  • 如果你的退路设置为真。然后,对于包含在getStaticPaths中的任何路径,都将在请求时生成。(我这么做,是因为我有一个博客,我不希望构建时间在几分钟内.)
  • 其他选项是您想要的,它被称为https://nextjs.org/docs/basic-features/data-fetching#incremental-static-regeneration。基本上,如果上一次请求是在一段时间前(以秒为单位设置),则它将根据请求时间重新构建页面。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61508804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档