Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

212
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda