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

126
Visualizações
¿La función en module.exports "no es una función"? - nodos

Estoy tratando de usar la función badPort dentro de otra función ( getPort ) en module.exports así:

 DEFAULT_PORT = 80; module.exports = { badPort: (c_port, min=80, max=90) => { return isNaN(c_port) || !between(c_port, min, max); }, getPort: (c_port, min=80, max=90) => { console.log(this.badPort(c_port)); return this.badPort(c_port) ? 80 : c_port; }, };

Sin embargo, cuando uso this.badPort(c_port) arroja una excepción:

 TypeError: this.badPort is not a function

Pero es claramente una función como se inicializó justo encima de ella.

Sin embargo, si elimino () , this.badPort siempre devuelve undefined .

¿Por qué sucede esto y cómo podría usar correctamente la función dentro module.exports ? ¿Es posible declarar también la "variable global" DEFAULT_PORT en module.exports de esta manera?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Puedes hacerlo cambiando this a module.exports :

 DEFAULT_PORT = 80; module.exports = { badPort: (c_port, min=80, max=90) => { return isNaN(c_port) || !between(c_port, min, max); }, getPort: (c_port, min=80, max=90) => { console.log(module.exports.badPort(c_port)); return module.exports.badPort(c_port) ? 80 : c_port; }, };

Y sobre la segunda pregunta... tendrías que redefinir tu módulo, para usar esa variable externamente, así:

 module.exports.DEFAULT_PORT = 80;

Entonces tendrás acceso a él:

 var mod = require('mymodule'); console.log(mod.DEFAULT_PORT);

No estoy al tanto de ninguna otra manera.

about 4 years ago · Juan Pablo Isaza Relatório

0

¿Has probado esto para cambiar ":" por "=" como:

 DEFAULT_PORT = 80; module.exports = { badPort = (c_port, min=80, max=90) => { return isNaN(c_port) || !between(c_port, min, max); }, getPort = (c_port, min=80, max=90) => { console.log(this.badPort(c_port)); return this.badPort(c_port) ? 80 : c_port; }, };
about 4 years ago · Juan Pablo Isaza Relatório

0

Para hacer referencia a badPort desde la otra función, puede escribirlo de esta manera:

 DEFAULT_PORT = 80; const badPort = (c_port, min=80, max=90) => { return isNaN(c_port) || !between(c_port, min, max); }; const getPort = (c_port, min=80, max=90) => { console.log(badPort(c_port)); return badPort(c_port) ? 80 : c_port; }; module.exports = { badPort, getPort };

Y si tiene curiosidad sobre cómo importarlo correctamente, aquí hay un ejemplo de una importación correcta desde otro archivo js en el mismo directorio:

 const port = require('./port.js'); console.log(port.badPort(1000));

Y su puerto predeterminado puede ser una variable de entorno usando process.env https://nodejs.org/dist/latest-v8.x/docs/api/process.html

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