使用create-next-app创建Next.js 14应用时出现favicon.ico模块未找到错误
Next.js 14.0.3 启动报错:找不到
favicon.ico?__next_metadata__的解决方案 问题本质
这确实是Next.js 14.0.x版本在Windows系统上的已知兼容性Bug,问题出在开发服务器对带查询参数的本地资源路径解析逻辑上。13.x版本没有这个问题,而5%的成功概率是因为路径解析偶尔触发了兼容逻辑。
关于get-metadata-route.ts的说明
你找不到这个文件是正常的——它是Next.js框架内部的核心模块,并非项目目录下的文件,不需要你手动修改。之前相关讨论里提到的方案是针对框架源码的,普通用户无法直接操作。
可行解决方案
手动配置图标路径
删掉src/app目录下的favicon.ico,将图标文件放到项目根目录的public文件夹中,然后在app/layout.tsx里手动声明元数据:import type { Metadata } from 'next'; export const metadata: Metadata = { icons: { icon: '/favicon.ico', }, };这种方式绕开了框架自动解析图标路径的逻辑,彻底避免报错。
升级Next.js版本
该Bug在14.1及以上的稳定版中已被修复,直接执行以下命令升级即可:npm install next@latest临时启动参数规避
如果暂时不想升级,尝试添加--turbo参数启动开发服务器:npm run dev -- --turbo部分Windows用户反馈这个参数能降低路径解析出错的概率。
内容的提问来源于stack exchange,提问作者Rok Benko
相关产品推荐
相关产品推荐

