Next.js 按需静态再生
Posted
技术标签:
【中文标题】Next.js 按需静态再生【英文标题】:Next.js Static Regeneration on demand 【发布时间】:2021-07-03 20:11:15 【问题描述】:我非常喜欢 Next.js 的 Incremental Static Regenration。
但是,我正在寻找一种方法来强制按需重新生成静态页面。理想情况下,当我的源数据库中的数据发生变化时,我可以通过 API 调用触发该命令。
这个想法是在每次数据更改后重新生成每个页面一次。我可以通过在重新验证间隔后获取目标页面来强制 ISR 页面重新生成,但我正在寻找一种方法在数据更改之前不要重复生成它们。
任何想法,如果它是可行的,如何? :-)
【问题讨论】:
【参考方案1】:目前(Next.js 10.1.3)没有对该功能的原生支持,触发页面重新验证的唯一方法是使用基于间隔的 HTTP 请求。 然而 Next.js 团队是exploring on-demand (triggered via API route) revalidation(另见https://github.com/vercel/next.js/discussions/10721#discussioncomment-686) 并且由于这是一项要求很高的功能,将来可能会提供。Here 您可以尝试根据需要重新验证页面,但它有一些严重的警告并且尚未准备好生产。
来源:Update a static page by eventsuper Incremental Static Regeneration
【讨论】:
感谢您的回答,我很高兴听到这一壮举的需求量很大,期待原生解决方案 :-) 嘿!来自 Vercel 的 Lee。如果您想试用此功能,请发送电子邮件至 lee at vercel.com 给我 :) 为了实现这一点,您只需要清除需要更新的特定页面的缓存,然后按需生成将在下一次请求时启动? @leerob 这个功能会在什么时候广泛使用?以上是关于Next.js 按需静态再生的主要内容,如果未能解决你的问题,请参考以下文章