Three.js+React项目执行gltfjsx命令遇TypeError: fetch failed报错求助
解决glTFJSX执行时出现
fetch failed的问题 以下是几个可行的排查和解决步骤:
验证文件路径与存在性
确认public/models/663948135363845edb1aab87.glb路径完全正确:- 检查文件名的拼写、大小写(区分大小写的系统如Linux/macOS需注意)
- 确认文件确实存在于指定目录,可通过文件管理器或
ls public/models/命令查看
检查文件读取权限
在Linux/macOS环境下,确保当前用户拥有该GLB文件的读取权限:
执行命令查看权限:ls -l public/models/663948135363845edb1aab87.glb若权限不足,添加读取权限:
chmod +r public/models/663948135363845edb1aab87.glb使用最新版本的gltfjsx
旧版本可能存在兼容性问题,指定最新版本执行命令:npx gltfjsx@latest public/models/663948135363845edb1aab87.glb -o src/components/Avatar.jsx -r public升级Node.js版本
报错涉及的undici是Node.js内置的fetch实现,部分旧版本Node可能存在兼容性问题。建议升级至LTS版本(如18.x或20.x)后重新执行命令。测试文件完整性
确认GLB文件未损坏:- 用Blender等3D工具尝试导入该模型
- 编写简单的Three.js代码加载模型,验证是否能正常解析
简化路径测试
将GLB文件复制到项目根目录,执行简化后的命令,排查路径解析问题:npx gltfjsx 663948135363845edb1aab87.glb -o src/components/Avatar.jsx -r ./
内容的提问来源于stack exchange,提问作者Haider Aamir
相关产品推荐
相关产品推荐

