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

259
Views
¿Cómo exportar/importar correctamente un objeto en este proyecto nodeJS?

Tengo un proyecto de nodeJS donde tengo este archivo GameState.js con esta estructura:

 const GameState = function(socket){ this.socket = socket //quite a large constructor so I removed most of it }; //defining all the prototype methods GameState.prototype.getSocket = function() { return this.socket } module.exports = GameState;

Puedo usar este constructor GameScreen en mi archivo gamescreen.js, al tener los dos scripts en mi archivo gamescreen.html como este:

 <script src = "gamestate.js"></script> <script src = "gamescreen.js"></script>

Entonces, para obtener GameState en gamescreen.js, en realidad no necesito module.exports, incluso me da un ReferenceError (que no se rompe) cuando uso la aplicación, lo cual es bastante molesto.

Sin embargo, con mi estructura actual no puedo eliminar este módulo. Exportaciones ya que también tengo un archivo de prueba (usando broma) donde importo GameState con un requisito como este:

 const GameState = require("../scripts/gamestate.js"); //the tests here...

Entonces mi pregunta es: ¿Cómo obtengo GameState tanto en gamescreen.js como en gamestate.test.js, sin tener el ReferenceError? En este momento todo está funcionando, pero no es muy óptimo obtener un error en la consola al ejecutar la aplicación.

EDITAR: una mejor manera de formular esta pregunta podría ser: tengo un módulo GameState definido con module.exports, ahora, ¿cómo lo obtengo en gamescreen.js (el lado del cliente), sin perder la capacidad de importarlo con require( ...) en un archivo de prueba?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Me deshice del error simplemente envolviendo module.exports en un bloque try catch como este:

 try { module.exports = GameState; } catch(error) { console.log("didn't work") }

Cuando lo ejecuto en el navegador, funciona normalmente e imprime: "no funcionó" y cuando ejecuto mis pruebas con npm test, las pruebas también funcionan.

Puede que no sea la solución más bonita, por lo que agradecería cualquier otra sugerencia.

about 4 years ago · Juan Pablo Isaza Report
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!