我用next.js建立了一个网站,指南上说next.js有两种形式的预渲染:
静态生成(推荐):HTML是在构建时生成的,并将在每个请求中重用。服务器端呈现:在每个请求上生成HTML。
如果我使用的是静态生成,那么在我的页面中我有以下代码:
export async function getStaticProps({ params }) {
const fetchedData = await axios.get(API_URL);
return {
props: {
fetchedData
}
}
}这是否意味着此功能将只在构建时执行一次(当我正在部署网站),然后它意味着将显示在网站上的数据将是从部署之日起的旧数据?如果是这样的话,我如何强迫next.js每天重建这个页面?
发布于 2020-05-05 17:48:06
答案是肯定的,将提供的数据是在构建时(例如部署时间)获取的数据,所以基本上如果API上的数据发生变化,站点仍然有旧的数据。
关于第二个问题--如何强迫next.js每隔一段时间重新构建页面--我找到了适合我的解决方案(因为我使用的是Vercel托管):
https://vercel.com/docs/v2/more/deploy-hooks?query=Deploy%20Hooks#
发布于 2020-10-12 11:08:47
我刚刚开始使用next.js。我用的是火药库主机。可以在请求时调用getStaticProps。
https://stackoverflow.com/questions/61508804
复制相似问题