Estou usando three.js em um projeto Angular com webpack como bundler.
Ao tentar carregar um arquivo GLTF, um ReferenceError é lançado:
ERROR Error: Uncaught (in promise): ReferenceError: THREE is not defined
ReferenceError: THREE is not defined at GLTFLoader.js:2715
Referindo-se a esta linha de código:
No meu código TypeScript, eu importo o carregador desta maneira:
import { GLTFLoader} from 'three/examples/jsm/loaders/GLTFLoader';
Acho que para consertar isso, _BufferGeometryUtils_ deve ser exportado em _three.module.js_ ou o bloco de código deve ser removido da versão jsm de GLTFLoader, pois o objeto global _THREE_ não está definido.
Também descobri que _BufferGeometryUtils_ é uma exceção no script _modularize_:
Infelizmente, os módulos examples/jsm
ainda não estão totalmente funcionais. Ainda estou trabalhando nisso.
Outro usuário relatou o mesmo problema aqui:
A fusão do # 15582 deve resolver esse problema, certo?
Eu tentei o GLTFLoader atualizado no branch dev e está funcionando bem, esperando o lançamento.
Obrigado pela correção!
Para qualquer pessoa que precise de uma correção urgente, use o pacote npm 'three-gltf-loader':
import GLTFLoader from 'three-gltf-loader';
Comentários muito úteis
Eu tentei o GLTFLoader atualizado no branch dev e está funcionando bem, esperando o lançamento.
Obrigado pela correção!
Para qualquer pessoa que precise de uma correção urgente, use o pacote npm 'three-gltf-loader':
import GLTFLoader from 'three-gltf-loader';