ReactJS(NextJs) 渲染模式 ~Incremental Static Regeneration (ISR)~

发布: (2026年2月23日 GMT+8 09:38)
2 分钟阅读
原文: Dev.to

Source: Dev.to

ISR 的工作原理

  • 从缓存提供:页面的首次请求会从缓存中提供预先生成的静态版本,确保始终快速响应。
  • 后台再生成(基于时间):你可以指定 revalidate 的秒数。该时间段过去后,下一次用户请求仍会立即收到陈旧(缓存)的页面。此请求会触发 Next.js 在后台重新生成页面的最新版本。
  • 提供新鲜内容:一旦新页面成功生成,它会替换缓存的版本,随后所有访问者都会收到更新后的内容。

按需重新验证

在 Next.js 中的实现

// app/page.tsx or similar
export const revalidate = 60; // Regenerate the page every 60 seconds

export default async function Page() {
  const res = await fetch('https://example.com/items');
  const items = await res.json();
  // ... render items
}

好处

  • 性能提升:页面即时从 CDN 缓存中提供。
  • 构建时间缩短:仅重新生成必要的页面,对大型站点而言更高效。
  • SEO 优势:交付新鲜的静态 HTML 页面,对搜索引擎友好。
  • 无需重新部署即可获取新内容:来自 CMS 或数据库的内容更新会在不进行完整站点重建的情况下生效。
0 浏览
Back to Blog

相关文章

阅读更多 »