我非常喜欢 Next.js 的 Incremental Static Regenration。
但是,我正在寻找一种方法来强制按需重新生成静态页面。理想情况下,通过一个命令,当我的源数据库中的数据发生变化时,我可以通过 API 调用触发该命令。
这个想法是在每次数据更改后重新生成每个页面一次。我可以通过在重新验证间隔后获取目标页面来强制执行 ISR 页面的重新生成,但我正在寻找一种方法不要在数据更改之前冗余地重新生成它们。
任何想法是否可行以及如何? :-)
答案 0 :(得分:4)
目前(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 event
super Incremental Static Regeneration