Estoy usando la versión del módulo de three.js porque necesito ejecutar importaciones desde una estructura de archivos js del lado del cliente.
TRES en sí funciona bien. Pero ahora tengo el problema de que no puedo usarlo en FBXLoader:
Esta es la declaración de importación en mi archivo de representación del lado del cliente:
import * as THREE from '/build/three.module.js'; import * as FBXLoader from '/js/loaders/FBXLoader.js';Esto no arroja ningún error.
Del lado del servidor, estoy usando express para permitir el acceso a los módulos del lado del cliente:
app.use(express.static(__dirname + '/public')); app.use('/build/', express.static(path.join(__dirname, 'node_modules/three/build'))); app.use('/js/', express.static(path.join(__dirname, 'node_modules/three/examples/js')));Hasta aquí todo bien.
Cuando trato de ejecutar, me sale el siguiente error:
Uncaught ReferenceError: THREE is not defined <anonymous> http://localhost:3000/js/loaders/FBXLoader.js:22 <anonymous> http://localhost:3000/js/loaders/FBXLoader.js:3817¿Alguna idea de cuál es el problema? El error no está en mi código, esto es algo dentro de FBXLoader.js.
Las importaciones de un archivo se limitan a ese archivo. Puede ser que FBXLoader.js no esté importando TRES y por eso no está definido. Incluir en FBXLoader.js:
import * as THREE from '/build/three.module.js';