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

243
Views
¿Por qué `var export = module.exports = {};` funciona pero no `let export = module.exports = {};`?

Durante la optimización del código de mi proyecto, estaba reemplazando todas las instancias de la palabra clave var con let porque creo que no queda ningún uso particular para var . Hice un 'Buscar y reemplazar' en todos los archivos para hacer esto.

En algunos módulos personalizados había usado declaraciones como:

 var exports = module.exports = {};

que funcionó bien.

Ahora, después de reemplazarlo con let , se convirtió en:

 let exports = module.exports = {};

Ahora no funciona y da error

SyntaxError: el identificador 'exportaciones' ya se ha declarado

Aunque puedo usar var y evitar este problema, todavía quiero saber cuál es la razón detrás de esto.

EDITAR: No he usado let exports = <something>; en cualquier lugar del mismo archivo de módulo. Así que esta es la única declaración en la que he declarado la variable exports .

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

El motivo es que las exports ya están inicializadas en el sistema de módulos de Nodejs.

https://nodejs.org/api/modules.html#modules_module_exports

El objeto existe, module.exports cuando se carga el módulo. Dado let es específico del alcance, le impide limitar el alcance. const también fallaría.

over 4 years ago · Santiago Trujillo 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!