Skip to content

StaleTimes(实验性)

警告staleTimes配置是一个实验性特性。这种配置策略在未来可能会发生变化。

staleTimes是一个实验性特性,它允许配置客户端路由器缓存的失效周期

此配置选项自v14.2.0起可用。

你可以通过设置实验性的staleTimes标志来启用这个实验性特性并提供自定义的重新验证时间:

js
/** @type {import('next').NextConfig} */
const nextConfig = {
  experimental: {
    staleTimes: {
      dynamic: 30,
      static: 180,
    },
  },
}

module.exports = nextConfig

staticdynamic属性对应于不同类型的链接预取基于时间周期(以秒为单位)。

  • dynamic属性用于当Link上的prefetch属性未指定或设置为false时。
    • 默认值:30秒
  • static属性用于当Link上的prefetch属性设置为true,或者当调用router.prefetch时。
    • 默认值:5分钟

须知:

  • 加载边界被认为在本配置中定义的static期间是可重用的。
  • 这不会禁用部分渲染支持意味着共享布局不会在每次导航时自动重新获取,只有新的段数据。
  • 这不会改变后退/前进缓存行为,以防止布局偏移和防止丢失浏览器滚动位置。
  • 此配置的不同属性指的是不同级别的“活性”,与段本身选择静态或动态渲染无关。换句话说,当前static的默认值5分钟意味着数据由于重新验证频率低而感觉是静态的。

你可以在这里了解更多关于客户端路由器缓存的信息。