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

Angular项目中使用Three.js的OBJLoader2导入问题求助

在Angular中正确导入Three.js的OBJLoader2

我完全懂你碰到的问题——OBJLoader2确实不在Three.js的核心包里,而且直接从three/examples/js/loaders/OBJLoader2.js导入会因为模块格式不兼容(Angular用的是ES模块,这个路径下的是UMD格式文件)出问题。下面是具体的解决方法:

  • 使用ES模块版本的OBJLoader2:Three.js的examples目录里,jsm文件夹存放的是适配ES模块的工具类,你得从这个路径导入:

    import * as THREE from 'three';
    import { OBJLoader2 } from 'three/examples/jsm/loaders/OBJLoader2';
    
  • 正常实例化加载器:导入完成后,就能像文档里那样创建OBJLoader2实例了:

    const loader = new OBJLoader2();
    // 举个加载模型的示例逻辑
    loader.load('assets/models/your-model.obj', (object) => {
      // 把加载好的模型添加到场景中
      yourThreeScene.add(object);
    });
    
  • 保证依赖版本匹配:记得检查three和@types/three的版本是否一致,版本不匹配很容易导致类型提示错误或者导入失败。你可以打开package.json确认两者版本,要是不一致,重新安装对应版本就行:

    npm install three@<对应版本号> @types/three@<对应版本号> --save
    

如果还是碰到导入报错,可以临时在Angular的tsconfig.json里添加"skipLibCheck": true(跳过库类型检查),排查是不是类型定义的小问题,但优先保证版本匹配哦。

内容的提问来源于stack exchange,提问作者dc-p8

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:58:35