J'utilise three.js dans un projet Angular avec webpack comme bundler.
Lorsque vous essayez de charger un fichier GLTF, une ReferenceError est renvoyée:
ERROR Error: Uncaught (in promise): ReferenceError: THREE is not defined
ReferenceError: THREE is not defined at GLTFLoader.js:2715
En référence à cette ligne de code:
Dans mon code TypeScript, j'importe le chargeur de cette façon:
import { GLTFLoader} from 'three/examples/jsm/loaders/GLTFLoader';
Je suppose que pour résoudre ce problème, soit _BufferGeometryUtils_ doit être exporté dans _three.module.js_, soit le bloc de code doit être supprimé de la version jsm de GLTFLoader, car l'objet _THREE_ global n'est pas défini.
J'ai également trouvé que _BufferGeometryUtils_ est une exception dans le script _modularize_:
Malheureusement, les modules examples/jsm
ne sont pas encore entièrement fonctionnels. Je travaille toujours là-dessus.
Un autre utilisateur a signalé le même problème ici:
La fusion du # 15582 devrait résoudre ce problème, non?
J'ai essayé le GLTFLoader mis à jour dans la branche dev et ça marche très bien, en attendant la sortie.
Merci pour le correctif!
Pour tous ceux qui ont besoin d'une solution urgente, utilisez le package npm 'three-gltf-loader':
import GLTFLoader from 'three-gltf-loader';
Commentaire le plus utile
J'ai essayé le GLTFLoader mis à jour dans la branche dev et ça marche très bien, en attendant la sortie.
Merci pour le correctif!
Pour tous ceux qui ont besoin d'une solution urgente, utilisez le package npm 'three-gltf-loader':
import GLTFLoader from 'three-gltf-loader';