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

NextJS React项目生产环境logo图片无法渲染求助

Next.js生产环境Logo不显示的修复方案

你的问题核心是Next.js Image组件的静态资源路径写法错误,本地开发服务器的容错机制让路径错误没暴露,但生产环境(Vercel/Netlify)的资源解析逻辑更严格,导致图片加载失败。

错误原因

Next.js规定public目录是静态资源的根目录,引用时直接从根路径/开始,不需要额外加../public前缀。你当前的代码:

<Link>
  <Image 
    src='/../public/assets/navLogo.png' 
    alt='/' 
    width={125} 
    height={50}
  />        
</Link>

这里的src路径会让生产环境去寻找/../public/assets/navLogo.png,但这个路径实际不存在,自然加载失败。

修复步骤

  1. 修改Image组件的src路径,去掉多余的../public,直接写/assets/navLogo.png:
<Link>
  <Image 
    src='/assets/navLogo.png' 
    alt='网站Logo'  // 建议将alt文本改为有实际意义的内容,提升可访问性
    width={125} 
    height={50}
  />        
</Link>
  1. 验证文件存在性:确保public/assets/navLogo.png文件确实存在,且文件名大小写和代码中一致(生产服务器多为Linux环境,大小写敏感)。

额外说明

本地开发时,Next.js的开发服务器会尝试解析一些不规范的路径,所以错误写法不会报错;但生产构建时,静态资源会被按规则打包,错误路径会直接导致资源找不到。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 19:45:31