SuperAPI AI 工具集

next-cache-components

前端与建站

查看项目

更新于 10-15 22:39

技能介绍

用途:介绍 Next.js 16+ 的 Cache Components,启用部分预渲染(PPR),在同一路由内混合静态、缓存与动态内容。需在 next.config.ts 中设置 cacheComponents: true(替代旧的 experimental.ppr)。

主要能力:内容分三类——静态(构建期预渲染的同步代码)、缓存('use cache' 标注的异步数据,可配 cacheLife)、动态(运行时数据,包在 Suspense 中流式输出)。use cache 支持文件级、组件级、函数级;缓存配置可用内置 profile(default、minutes、hours、days、weeks、max)或 cacheLife({stale, revalidate, expire}) 内联设置;'use cache: remote'、'use cache: private' 提供远程与合规缓存。失效方式有 cacheTag 打标签、updateTag 同请求立即失效、revalidateTag 后台失效。缓存键由 Build ID、函数 ID、可序列化参数与闭包变量自动生成。

使用方式与迁移:use cache 内不可访问 cookies()、headers()、searchParams,需在外部取出后作为参数传入(参数会进入缓存键);确需访问时可用 'use cache: private'。旧的 experimental.ppr 改为 cacheComponents: true;unstable_cache 改为 use cache,tags 改为 cacheTag(),revalidate 改为 cacheLife({revalidate:N}) 或内置 profile,不再需要手动 cache key。Date.now() 等非确定性值在 use cache 内只在构建期执行一次。

限制:不支持 Edge runtime(需 Node.js),不支持静态导出(需服务端)。官方参考为 Cache Components Guide、use cache Directive、unstable_cache(legacy)。本技能未提供收费、价格或额外平台信息。