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

React Native Haste包存在但指定模块找不到问题求助

解决Metro Bundler打包时找不到图片模块的问题

嘿,这个问题我之前也碰到过,咱们一步步来搞定它:

1. 先确认文件真的在那里

先去错误提示的路径C:\Users\dell\Desktop\Kuda\KUDA\app\src\images里看看,KUDA2.png是不是真的存在:

  • 检查文件名的拼写和大小写,Windows系统虽然不区分,但Metro有时候会严格匹配,别把KUDA2.png写成kuda2.png或者漏了.png后缀。
  • 看看文件名里有没有空格、特殊字符,这些也可能导致Metro识别失败。

2. 检查代码里的引用路径

你代码里引用这张图的方式大概率出问题了:

  • 如果用的是相对路径,得从当前组件文件的位置出发算路径,比如组件在app/src/components/MyComponent.js,那引用图片应该是../images/KUDA2.png,别写错层级。
  • 如果是用Haste模块直接写KUDA/app/src/images/KUDA2.png,那得确认你的Haste配置是不是把KUDA正确映射到了C:\Users\dell\Desktop\Kuda\KUDA这个根目录,不然路径拼接出来就不对了。

3. 让Metro正确识别图片扩展名

错误里显示Metro在找KUDA2.png/index(.native||.android.js|...),这说明它把图片文件当成了目录,咱们在metro.config.js里加一下图片扩展名的支持:

module.exports = {
  resolver: {
    sourceExts: ['js', 'json', 'ts', 'tsx', 'png', 'jpg', 'jpeg'], // 把图片后缀加进去
  },
};

4. 清缓存重启Metro

缓存是这类问题的常客,执行这两条命令试试:

# 清除Metro的缓存
npx react-native start --reset-cache
# 然后重新跑项目
npx react-native run-android

5. 检查路径别名配置(如果用了的话)

如果你用了babel-plugin-module-resolver这类路径别名插件,得确认别名KUDA是不是正确指向了项目根目录,别让路径解析跑偏了。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:24:20