Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

160
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda