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

158
Views
¿Cómo evito que las variables se sobrescriban en nodejs cuando las requiero en un archivo principal?

Tengo varios scripts que son casi iguales pero con diferentes parámetros en un objeto 'parámetros' establecido en el nivel superior. Cuando requiero () los scripts en el mismo archivo para ejecutarlos al mismo tiempo, el objeto 'parámetros' se sobrescribe y solo se usan los últimos 'parámetros' requeridos. ¿Cómo paro esto?

Archivo 1:

 params = { name: "John", salary: "50" }

Archivo 2:

 params = { name: "Victoria", salary: "10" }

Archivo 3:

 params = { name: "Veka", salary: "80" }

Archivo principal:

 require(file1.js)(); require(file2.js)(); require(file3.js)(); // do things

Sé que podría cambiar el nombre de cada archivo, pero creo que me falta algo. Gracias de antemano.

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

0

¿Cuál es el comportamiento deseado? Parece que tiene una variable global y, naturalmente, no puede contener varios valores distintos a la vez. Si necesita tener acceso a los datos proporcionados por los tres archivos y necesita que sea una variable global (en lugar de, por ejemplo, convertir sus archivos en funciones que devuelven valor), entonces puede convertirlo en una matriz u objeto que el insertar archivos individuales en.

Formación:

Archivo principal antes de requerir llamadas:

 params = []

Archivo 1 (lo mismo para otros archivos):

 params.push({ name: "John", salary: 50 });

Objeto:

Archivo principal:

 params = {}

Archivo 1:

 params['file1'] = { name: "John", salary: 50 };

Alternativa

Se desaconseja el uso de globales a menos que sea absolutamente necesario porque conducen a errores confusos y son difíciles de depurar. En su lugar, puedes hacer:

Archivo 1

 function getData() { return { name: 'John', salary: 50 }; } module.exports = getData;

Archivo principal:

 const file1Data = require('./file1.js')();
about 4 years ago · Juan Pablo Isaza Report

0

Debe comprender el cierre y el alcance variable en Javascript.

Aquí unos artículos interesantes.

Por lo tanto, debe encapsular esas variables en su propia función.

 const yourFunctionFile1 = () => { const params = { name: "Veka", salary: "80" } // do whatever you want } module.exports = yourFunctionFile1
about 4 years ago · Juan Pablo Isaza Report

0

Puede exportar el objeto params en cada archivo y luego solicitarlos en su archivo principal como variables:

Archivo 1:

 module.exports.params = { name: "John", salary: "50" }

Archivo 2:

 module.exports.params = { name: "Victoria", salary: "10" }

Archivo principal:

 let params1 = require('./file1').params let params2 = require('./file2').params
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!