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

125
Views
¿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 answers
Answer question

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 Report

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 Report

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 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!