在vue项目中导入模型时报错如下:

SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
    at JSON.parse (<anonymous>)
    at GLTFLoader.parse


代码写法如下:

import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader";

// 添加模型
const gltfLoader = new GLTFLoader();
gltfLoader.load("../../assets/models/rabbit.glb", (gltf) => {
        let model = gltf.scene;
        console.log("model",model)
        scene.add(model);
})

通过测试发现是模型文件路径问题,模型文件路径需采用绝对路径,即"src/assets/models/rabbit.glb",改成如下引入报错解决

// 添加模型
const gltfLoader = new GLTFLoader();
gltfLoader.load("src/assets/models/rabbit.glb", (gltf) => {
        let model = gltf.scene;
        console.log("model",model)
        scene.add(model);
})

或是将模型文件放在public文件夹下,路径改为"./models/rabbit.glb",如下

// 添加模型
const gltfLoader = new GLTFLoader();
gltfLoader.load("./models/rabbit.glb", (gltf) => {
        let model = gltf.scene;
        console.log("model",model)
        scene.add(model);
})

使用绝对路径可以确保引入的是实际文件系统上的模型文件,避免在打包后文件找不到。

GitHub 加速计划 / js / json
18
5
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:2 个月前 )
960b763e 5 个月前
8c391e04 8 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐