You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NextJS 13.3.4中next/cache缺失,如何使用revalidateTag功能?

解决NextJS 13.3.4中revalidateTag找不到模块的问题

你的问题源于NextJS版本的API位置差异:在13.3.4版本中,revalidateTag还未被移至next/cache模块,而是属于next/server模块。按以下步骤调整即可正常使用:

  1. 修正导入语句
    将原代码中的导入路径从next/cache改为next/server:

    import { NextRequest, NextResponse, revalidateTag } from 'next/server';
    
  2. 添加参数合法性校验
    由于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() 
      });
    }
    
  3. 确认文件位置
    确保这段代码所在的文件是app目录下的route.ts(或route.js),因为revalidateTag仅支持在App Router的路由处理函数中调用。

内容的提问来源于stack exchange,提问作者Nightwolf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 05:29:54