Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

175
Vistas
¿Cómo acceder a las propiedades en otro módulo en JavaScript?

Tengo un módulo llamado LoadingBar:

 ... export default class LoadingBar { constructor() { ... const overlayGeometry = new THREE.PlaneGeometry(2, 2, 1, 1) const overlayMaterial = new THREE.ShaderMaterial ({ //wireframe: true, transparent: true, uniforms: { uAlpha: {value: 0.5} }, vertexShader: ` void main() { gl_Position = vec4(position, 1.0); } `, fragmentShader: ` uniform float uAlpha; void main() { gl_FragColor = vec4(0.0, 0.0, 0.0, uAlpha); } ` }) const overlay = new THREE.Mesh(overlayGeometry, overlayMaterial) this.scene.add(overlay) } }

y otro llamado Recursos:

 import LoadingBar from '../World/LoadingBar.js' export default class Resources extends EventEmitter { constructor(sources) { super() this.sources = sources ... this.LoadingBar = new LoadingBar() } setLoaders() { const loadingManager = new THREE.LoadingManager( // Loaded () => { ***gsap.to(overlayMaterial.uniforms.uAlpha, { duration: 3, value: 1 })*** }, // Progress () => { console.log('progress') } ) this.gltfLoader = new GLTFLoader(loadingManager) this.loaders = {} this.loaders.gltfLoader = new GLTFLoader() this.loaders.textureLoader = new THREE.TextureLoader() this.loaders.cubeTextureLoader = new THREE.CubeTextureLoader(loadingManager) }

A pesar de importarlo, aparece un error que dice que el overlay material is not defined . No puedo ver por qué no puede acceder al módulo de la barra de carga. He eliminado tanto código innecesario como creo que puedo sin que sea imposible responder. PONGO ASTERIKS donde en la línea que da el error.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La variable overlayMaterial solo está disponible localmente dentro de la clase LoadingBar. Si desea que esté disponible en otro lugar, deberá definirlo fuera de la clase LoadingBar (no le gusta que lo esté, no está claro en su ejemplo...) y exportarlo por separado:

export const overlayMaterial = [your code here]

Luego puede importar en su otro módulo: import {overlayMaterial} from "../World/LoadingBar.js"

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda