我在一个以webpack为捆绑器的Angular项目中使用three.js。
尝试加载GLTF文件时,抛出ReferenceError:
ERROR Error: Uncaught (in promise): ReferenceError: THREE is not defined
ReferenceError: THREE is not defined at GLTFLoader.js:2715
参考以下代码行:
在我的TypeScript代码中,我通过以下方式导入加载程序:
import { GLTFLoader} from 'three/examples/jsm/loaders/GLTFLoader';
我猜想解决此问题,要么_BufferGeometryUtils_不必在_three.module.js_中导出,要么必须从GLTFLoader的jsm版本中删除代码块,因为未定义全局_THREE_对象。
我还发现_BufferGeometryUtils_是_modularize_脚本中的异常:
不幸的是, examples/jsm
模块没有完全正常运行,但是很抱歉。 仍在努力。
另一个用户在这里报告了相同的问题:
合并#15582应该可以解决此问题,对吗?
我已经在dev分支中尝试了更新的GLTFLoader,它工作正常,等待发布。
感谢您的修复!
对于需要紧急修复的任何人,请使用'three-gltf-loader'npm软件包:
import GLTFLoader from 'three-gltf-loader';
最有用的评论
我已经在dev分支中尝试了更新的GLTFLoader,它工作正常,等待发布。
感谢您的修复!
对于需要紧急修复的任何人,请使用'three-gltf-loader'npm软件包:
import GLTFLoader from 'three-gltf-loader';