Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

250
Views
Los métodos no están dentro del alcance al intentar importar una biblioteca usando la etiqueta 'type="module"'

Tengo problemas para seguir la guía en la documentación de firebase para vincular mi base de datos en tiempo real de firebase a mi boceto p5.js.

Ahora mismo tengo el siguiente código.

índice.html

 <html> <head> <script src="https://cdn.jsdelivr.net/npm/p5@1.4.1/lib/p5.js"></script> <script type="module" src="https://cdnjs.cloudflare.com/ajax/libs/firebase/9.8.4/firebase-app.js"></script> <script type="module" src="https://cdnjs.cloudflare.com/ajax/libs/firebase/9.8.4/firebase-database.min.js"></script> </head> <body> <main> <script src="sketch.js"></script> </main> </body> </html>

boceto.js

 function setup() { createCanvas(400,400); background(0); const firebaseConfig = { ... }; const app = initializeApp(firebaseConfig); }

A mi entender, esto debería, con el fin de

  1. Cargar en la biblioteca p5
  2. Cargue en las bibliotecas de base de fuego requeridas
  3. Cargue en sketch.js , donde luego intenta ejecutar initializeApp desde las librerías de firebase.

Sin embargo, estoy recibiendo este error:

🌸 p5.js says: [sketch.js, line 5] "initializeApp" is not defined in the current scope. If you have defined it in your code, you should check its scope, spelling, and letter-casing (JavaScript is case-sensitive).

Lo que ya probé:

  • Usando las librerías de firebase de otro CDN
  • eliminando las etiquetas type="module de las etiquetas del script (sin embargo, esto resultó en otro error, export declarations may only appear at top level of a module )
  • Noté que tenía el mismo error undefined cuando intenté importar una función de un archivo de boceto local secundario, sketch2.js : agregué <script type="module" src="ouija2.js"></script> a mi HTML archivo, luego intenté llamarlo desde sketch.js . Cuando eliminé la etiqueta type="module" , ya no tenía el error undefined y se podía llamar a la función.

En resumen, creo que tiene algo que ver con las etiquetas type="module" . Sin embargo, si los elimino, como se mencionó, obtengo un error diferente, quejándome de que no se me permite importar/exportar en otro lugar que no sea el nivel superior de un módulo.

¿Puede alguien explicarme por qué recibo este error undefined en este momento y cómo podría resolver este problema?

Creo que de alguna manera necesito volver a poner los métodos de Firebase en el alcance, ya que tuve que ocultarlos del alcance al tener que usar la etiqueta del módulo, pero no estoy seguro de cómo hacerlo.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!