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

解析@icons/circleFlower模块失败:Haste包存在但模块缺失

解决React Native中@icons/circleFlower模块找不到的问题

错误详情:
Error: 解析模块@icons/circleFlower时,已找到Haste包@icons,但该包内不存在circleFlower模块。确实,以下文件均不存在:

  • D:\niraj\react_native\khoj_app\src\Assets\icons\circleFlower(.native|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)
  • D:\niraj\react_native\khoj_app\src\Assets\icons\circleFlower\index(.native|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)

调用栈:

at resolveHasteName (D:\niraj\react_native\khoj_app\node_modules\metro-resolver\src\resolve.js:198:9)
at Object.resolve (D:\niraj\react_native\khoj_app\node_modules\metro-resolver\src\resolve.js:68:20)
at ModuleResolver.resolveDependency (D:\niraj\react_native\khoj_app\node_modules\metro\src\node-haste\DependencyGraph\ModuleResolution.js:126:31)
at DependencyGraph.resolveDependency (D:\niraj\react_native\khoj_app\node_modules\metro\src\node-haste\DependencyGraph.js:264:43)
at Object.resolve (D:\niraj\react_native\khoj_app\node_modules\metro\src\lib\transformHelpers.js:170:21)
at resolveDependencies (D:\niraj\react_native\khoj_app\node_modules\metro\src\DeltaBundler\graphOperations.js:466:33)
at processModule (D:\niraj\react_native\khoj_app\node_modules\metro\src\DeltaBundler\graphOperations.js:232:31)
at async addDependency (D:\niraj\react_native\khoj_app\node_modules\metro\src\DeltaBundler\graphOperations.js:361:18)
at async Promise.all (index 3)
at async processModule (D:\niraj\react_native\khoj_app\node_modules\metro\src\DeltaBundler\graphOperations.js:279:3)

排查与修复步骤

1. 确认文件存在性

  • 前往D:\niraj\react_native\khoj_app\src\Assets\icons目录,检查是否存在circleFlower相关文件:
    • 直接文件:比如circleFlower.js、circleFlower.tsx等符合后缀列表的文件
    • 目录结构:是否有circleFlower文件夹,且内部包含index.js/index.tsx等入口文件
  • 注意文件名大小写:确保引用的circleFlower和实际文件名完全匹配(跨平台开发时大小写敏感)

2. 验证路径别名配置

  • 检查tsconfig.json/jsconfig.json和metro.config.js中的路径别名,确认@icons是否正确指向src/Assets/icons:
    示例tsconfig.json配置:
    {
      "compilerOptions": {
        "baseUrl": ".",
        "paths": {
          "@icons/*": ["src/Assets/icons/*"]
        }
      }
    }
    
  • 排查别名规则是否有拼写错误,路径指向是否准确

3. 清除缓存并重启服务

  • 执行命令清除React Native缓存:
    npx react-native start --reset-cache
    
  • 关闭当前Metro服务,重新启动,确保缓存被彻底清理

4. 检查文件扩展名引用

  • 尝试在引用时显式添加文件后缀,比如:
    import circleFlower from '@icons/circleFlower.tsx';
    
    (根据实际文件的扩展名调整)

5. 检查Haste模块配置

  • 若项目使用Haste系统,查看package.json中的haste配置,确保没有排除circleFlower相关文件,模块识别规则正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 16:50:24