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

NextJS本地运行正常,生产构建出现ModuleNotFoundError无法解析图片资源报错

错误根因
  1. NextJS 生产构建的webpack路径解析规则比本地开发环境更严格,public作为静态资源根目录,导入时不应该携带public层级的相对路径前缀
  2. 存在小概率是.gitignore规则过滤了图片文件,导致相关资源没有被推送到远程仓库,生产构建环境拉取不到对应文件
  3. 本地文件系统(Windows/macOS)大小写不敏感,生产部署环境为Linux大小写敏感,如果代码中写的文件名和实际文件名大小写不一致,也会出现本地正常生产报错的情况
修复步骤
  • 首先验证图片是否已提交:检查本地项目的.gitignore文件,确认没有匹配*.jpg或者public/images/的过滤规则,且public/images/posts/our-new-home/目录下的所有图片都已经提交到main分支
  • 核对所有图片的文件名大小写,确保代码中导入的路径和实际文件的大小写完全一致
  • 修正图片导入路径:将our-new-home.tsx中所有图片的导入路径移除../../public前缀,修改示例如下:
    原导入代码:
import ShellyCrying from "../../public/images/posts/our-new-home/shelly-crying.jpg";

修正后:

import ShellyCrying from "/images/posts/our-new-home/shelly-crying.jpg";
  • 可选优化方案:使用NextJS官方提供的next/image组件实现图片性能优化,无需提前导入资源,直接传入路径即可,使用示例:
import Image from 'next/image'

// 组件内调用
<Image
  src="/images/posts/our-new-home/shelly-crying.jpg"
  alt="Shelly和她的捷达车告别"
  width={800}
  height={600}
  className=""
/>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 22:42:00