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

Next.js生产部署报错:Middleware与Edge Function交叉引用问题

解决Next.js部署Vercel时出现「Cross-reference between Middleware and Edge Function」报错的问题

问题场景

  • 已进入「项目设置>构建与开发设置」,将框架预设从「其他」改为Next.js
  • 本地运行正常,npm build无报错
  • 生产环境部署Vercel时触发报错,构建日志详情:

Traced Next.js server files in: 100.791ms
Created all serverless functions in: 357.86ms
Collected static files (public/, static/, .next/static): 12.911ms
Build Completed in /vercel/output [2m]
Deploying outputs...
Error: Cross-reference between Middleware and Edge Function.

原因及修复方案

1. 消除Middleware与Edge Function的交叉引用

  • 检查项目根目录(或src目录)下的middleware.ts/js,确认是否导入了标记为export const runtime = 'edge'的Edge Function文件
  • 同时检查所有Edge Function文件,看是否反向导入了Middleware中的内容
  • 修复:把两者共享的逻辑抽离到独立的公共文件(如lib/shared.ts),让Middleware和Edge Function分别导入这个公共文件,避免互相引用

2. 检查路由与文件位置冲突

  • 确认Middleware文件放置在正确路径:必须是项目根目录或src根目录下的middleware.ts/js,不能嵌套在app或pages目录内
  • 调整Middleware的匹配规则(如matcher配置),避免和Edge Function的路由路径产生逻辑冲突

3. 升级Next.js版本

  • 部分旧版Next.js在Vercel边缘运行时适配存在bug,可能导致该报错
  • 执行命令升级到最新稳定版:
npm install next@latest

然后重新构建部署

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 07:55:58