Next.js本地环境图片加载失败问题求助
解决方案
先看你代码里的核心问题:Next.js 的 Image 组件加载本地 public 目录下的资源时,路径不需要加 /public 前缀——因为 public 本身就是静态资源的根目录。
步骤1:修正图片路径
把你的代码改成这样:
<div className='flex justify-between items-center w-full h-full px-2 2xl:px-16'> <Image src='/assets/BL Logo (1).png' alt='BL Logo' width={125} height={50}/> </div>
另外建议把 alt 属性改成有意义的描述(比如'BL Logo'),不要用'/',这对页面可访问性更友好。
步骤2:确认文件位置和命名
- 确保图片文件确实在项目根目录的
public/assets/文件夹里,路径完全对应 - 文件名要完全匹配,包括空格、括号和大小写(Linux/macOS 环境区分文件名大小写,Windows 不区分,跨环境开发时要注意)
步骤3:清除缓存重启服务
- 关闭当前的开发服务器
- 重新运行
npm run dev或yarn dev - 打开浏览器按
Ctrl+Shift+R(Windows/Linux)或Cmd+Shift+R(Mac)强制刷新页面,清除浏览器缓存
如果还是无法加载,可补充排查:
- 若使用 Next.js 13+ App Router,确认
Image组件是从next/image导入,而非旧版的next/legacy/image - 打开浏览器控制台查看网络请求,看图片请求的状态码(比如404代表路径仍不对),根据具体错误信息进一步定位
内容的提问来源于stack exchange,提问作者Brian Kekuhaupi'o Leithead
相关产品推荐
相关产品推荐

