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

Next.js+React项目中PNG图片无法显示问题求助

解决Next.js中PNG图片无法显示的404问题

根据你提供的404错误信息和代码,以下是几种针对性的解决方案:

1. 修正img标签的require引用写法

在TypeScript/ES模块环境中,用require导入图片资源时,需要访问default属性才能拿到正确的文件路径:

<img src={require('../../public/SlideShow60.png').default} />

2. 检查Next.js静态导出配置(若使用静态部署)

如果你是通过output: 'export'进行静态导出部署,Next.js的Image优化功能默认不可用,会导致图片路径异常。需要在next.config.js中开启unoptimized模式:

/** @type {import('next').NextConfig} */
const nextConfig = {
  output: 'export',
  images: {
    unoptimized: true,
  },
}

module.exports = nextConfig

开启后,next/image组件会自动降级为普通img标签,同时public目录下的图片会被直接复制到导出目录的根路径,你也可以直接使用根路径引用:

<img src="/SlideShow60.png" alt="Slide-Show-Button" />

3. 清理缓存并重新构建部署

缓存异常可能导致图片未被正确打包到构建产物中,执行以下命令清理缓存后重新构建:

rm -rf .next node_modules
npm install
npm run build
npm run start

4. 验证文件名与路径的大小写一致性

Linux服务器(包括大部分云部署平台)对文件名大小写敏感,确保本地的SlideShow60.png和部署后服务器上的文件名完全一致,避免因大小写不匹配导致404。

5. 检查next.config.js的资源前缀配置

如果你的部署域名存在自定义路径前缀(比如子目录),需要在next.config.js中配置assetPrefix,确保图片路径正确:

const nextConfig = {
  assetPrefix: 'https://myapp.web.app', // 或者对应你的部署前缀路径
}

module.exports = nextConfig

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 14:25:05