导入GLTFLoader遇404错误:路径指向网络而非本地文件夹
解决GLTFLoader导入404错误的方法
你的问题出在导入路径用了本地绝对路径/Home/templates/Home/...,但服务器的根目录是项目启动目录,不是本地的Home文件夹,导致服务器无法定位到文件。以下是几种修正方法:
用相对路径导入
找到你的JS文件相对于node_modules的层级关系,调整路径。比如你的JS文件在Home/templates/Home/js/目录下,相对路径应该是../node_modules/three/examples/jsm/loaders/GLTFLoader.js,修改后的代码:import { GLTFLoader } from '../node_modules/three/examples/jsm/loaders/GLTFLoader.js';配置服务器静态资源目录(推荐)
如果用Express这类服务器,把node_modules设置为静态资源目录,这样服务器能直接访问里面的文件。以Express为例,添加以下代码:app.use(express.static('node_modules'));之后导入路径可以简化为:
import { GLTFLoader } from '/three/examples/jsm/loaders/GLTFLoader.js';使用规范的npm包导入(适配新版three)
如果你的项目用了Webpack、Vite等打包工具,直接从three包的addons目录导入即可(three r130+版本已将examples/jsm移至addons):import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
内容的提问来源于stack exchange,提问作者PaulyTiK
相关产品推荐
相关产品推荐

