staleTimes
staleTimes
是一項實驗性功能,可將頁面片段快取在 客戶端路由快取 (Client Router Cache) 中。
您可以啟用此實驗性功能,並透過設定實驗性的 staleTimes
標誌來提供自訂的重新驗證時間:
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
staleTimes: {
dynamic: 30,
static: 180,
},
},
}
module.exports = nextConfig
static
和 dynamic
屬性對應於不同類型 連結預取 (link prefetching) 的時間週期(以秒為單位)。
dynamic
屬性用於頁面既非靜態生成也未完全預取的情況(例如使用prefetch={true}
)。- 預設值:0 秒(不進行快取)
static
屬性用於靜態生成的頁面,或當Link
的prefetch
屬性設為true
時,或呼叫router.prefetch
時。- 預設值:5 分鐘
須知事項:
- 載入邊界 (Loading boundaries) 在此設定中定義的
static
期間內會被視為可重複使用。- 這不會影響 部分渲染 (partial rendering),意味著共享佈局不會在每次導航時自動重新獲取,只有變更的頁面片段會更新。
- 這不會改變 前進/後退快取 (back/forward caching) 的行為,以防止佈局偏移並保持瀏覽器滾動位置。
您可以在 這裡 了解更多關於客戶端路由快取的資訊。
版本歷史
版本 | 變更內容 |
---|---|
v15.0.0 | dynamic 的 staleTimes 預設值從 30 秒更改為 0 秒。 |
v14.2.0 | 實驗性 staleTimes 功能首次引入。 |