用途:Next.js 16+ 的 Cache Components 用于启用部分预渲染(PPR),让同一路由内混合静态、缓存与动态内容。启用方式:在 next.config.ts 中设置 cacheComponents: true,替代旧的 experimental.ppr。启用后内容分三类:静态(同步代码、导入、纯计算,构建时预渲染)、缓存(异步数据加 'use cache')、动态(运行时数据包在 Suspense 中)。'use cache' 可用在文件、组件或函数级别;缓存配置可通过 cacheLife('default'|'minutes'|'hours'|'days'|'weeks'|'max') 或内联 { stale, revalidate, expire } 指定,另有 'use cache: remote' 与 'use cache: private'。失效方面:cacheTag 为缓存内容打标签,updateTag 在同一请求内立即失效,revalidateTag 用于后台重新验证。限制:use cache 内不能访问 cookies()、headers()、searchParams,需将值作为参数传入(参数会自动进入缓存键);use cache: private 例外,允许运行时 API。缓存键基于构建 ID、函数 ID、可序列化参数与闭包变量自动生成。不支持 Edge 运行时,需 Node.js;不支持静态导出;Math.random()、Date.now() 等非确定值在 use cache 内构建时只执行一次,需要请求级随机可用 next/server 的 connection() 延迟到请求时。
next-cache-components
前端与建站
更新于 10-16 07:26