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

210
Views
importar por module.exports desde un archivo externo en NodeJS?

Estoy tratando de importar una función de otro archivo. Lo intenté haciendo esto:

principal.js:

 const oauth2 = require('./utils/oauth2'); function startOAuth() { var token = oauth2.OAuth2.getToken(); }

utilidades/oauth2.js:

 module.exports = (function() { window.OAuth2 = { /** * Initialize */ init: function() { this._key = "token"; }, /** * Get Token * * @return OAuth2 access token if it exists, null if not. */ getToken: function() { try { return window['localStorage'][this._key]; } catch(error) { return null; } } }; OAuth2.init(); })();

Obtuve el siguiente error:

TypeError no capturado: no se pueden leer las propiedades de undefined (leyendo 'getToken')

¿Qué hice mal? ¿Por qué NodeJS no encuentra la función getToken() ? ¡Muchas gracias por su ayuda!

PD: Sé que este es el lugar equivocado para decir que soy un principiante, pero lo soy;)

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

0

Estás exportando el resultado de llamar a una función sin retorno. Lo que ha asignado a module.exports es un patrón llamado Expresión de función invocada inmediatamente.

El código debería funcionar si, en cambio, asignó OAuth a una variable, llamó a init() justo después de la declaración y luego la exportó.

 const OAuth2 = { /** * Initialize */ init: function () { this._key = ""; }, /** * Get Token * * @return OAuth2 access token if it exists, null if not. */ getToken: function () { try { return window["localStorage"][this._key]; } catch (error) { return null; } }, }; OAuth2.init(); module.exports = OAuth2;
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!