NextJS 13.3.4中next/cache缺失,如何使用revalidateTag功能?
解决NextJS 13.3.4中revalidateTag找不到模块的问题
你的问题源于NextJS版本的API位置差异:在13.3.4版本中,revalidateTag还未被移至next/cache模块,而是属于next/server模块。按以下步骤调整即可正常使用:
修正导入语句
将原代码中的导入路径从next/cache改为next/server:import { NextRequest, NextResponse, revalidateTag } from 'next/server';添加参数合法性校验
由于request.nextUrl.searchParams.get('tag')可能返回null,直接传入revalidateTag会触发错误,建议增加判断逻辑:export async function GET(request: NextRequest) { const tag = request.nextUrl.searchParams.get('tag'); if (tag) { revalidateTag(tag); } return NextResponse.json({ revalidated: !!tag, now: Date.now() }); }确认文件位置
确保这段代码所在的文件是app目录下的route.ts(或route.js),因为revalidateTag仅支持在App Router的路由处理函数中调用。
内容的提问来源于stack exchange,提问作者Nightwolf
相关产品推荐
相关产品推荐

