Next.js页面加载时出现_nextjs_original_stack_frame 404错误求助
Next.js开发模式下
_nextjs_original_stack_frame 404错误排查与解决 错误成因
_nextjs_original_stack_frame是Next.js开发模式中用于调试栈帧追踪的内置接口,出现404的核心原因是开发服务器未正确注册该路由,或请求被异常拦截:
- Next.js版本Bug:15.0.4属于较新的迭代版本,存在内置路由映射遗漏的可能性,这类调试接口的注册逻辑可能存在缺陷
- 开发环境缓存残留:即使删除了
.next文件夹,npm/yarn的全局缓存或Node进程残留仍可能导致开发服务器启动异常,无法正确加载内置路由 - 隐性请求拦截:项目中若存在
middleware.ts/js文件、第三方插件,可能无意中拦截了/_nextjs_original_stack_frame/*开头的请求,即便next.config.js无自定义配置 - 端口/进程冲突:开发服务器端口被占用、进程未彻底关闭,会导致服务启动不完整,缺失内置调试路由
解决方法
- 调整Next.js版本:将版本降级到稳定的14.2.x分支,或升级到15.x的最新补丁版,避开已知的路由注册Bug
- 彻底清理缓存并重启:
- 删除项目根目录的
.next文件夹 - 执行
npm cache clean --force清空npm缓存 - 杀掉所有Node.js进程后,重新运行
npm run dev
- 删除项目根目录的
- 排查中间件/插件:
- 检查项目中是否存在
middleware.ts/js,确保没有拦截/_nextjs_original_stack_frame路径的逻辑,可暂时注释中间件代码测试 - 禁用近期新增的第三方依赖或插件,排查是否有冲突
- 检查项目中是否存在
- 禁用调试工具增强:在
next.config.js中添加配置,暂时关闭开发工具的栈帧追踪功能:module.exports = { devtools: { enabled: false } }
疑问解答
这个错误和自定义服务端配置无关,也不是浏览器开发工具本身的问题,核心是Next.js开发服务器的内置调试路由未正常工作,属于框架开发模式下的逻辑缺陷或环境异常问题,和热重载流程的栈帧获取逻辑直接相关。
内容的提问来源于stack exchange,提问作者Neo Stoffyn
相关产品推荐
相关产品推荐

