解析@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
相关产品推荐
相关产品推荐

