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

133
Views
Estado compartido en módulos ES6 vs CommonJS

Puedo compartir el estado a través de módulos CommonJS, pero no a través de módulos ES6.

Me pregunto por qué y quiero saber cómo compartir el estado a través de los módulos ES6.

ComúnJS

principal.js:

 const shared = require('./shared.js'); shared.val = 2; require('./child.js'); console.log('main.js', shared);

niño.js:

 const shared = require('./shared.js'); console.log('child.js', shared);

compartido.js:

 module.exports = {val:1};

Resultado:

 $ node main.js child.js { val: 2 } main.js { val: 2 }

ES6

principal.mjs:

 import shared from './shared.mjs'; shared.val = 2; import a from './child.mjs'; console.log('main.mjs', shared);

niño.mjs:

 import shared from './shared.mjs'; console.log('child.mjs', shared); export default undefined;

compartido.mjs:

 export default {val:1};

Resultado:

 $ node main.mjs child.mjs { val: 1 } main.mjs { val: 2 }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede compartir el estado exactamente de la misma manera.

Sin embargo, lo que no puede hacer es ejecutar código entre importaciones. Todos deberían estar en la parte superior de su archivo porque básicamente se elevan a la parte superior.

Si cambias child a algo como esto:

 import shared from './shared.mjs'; export default () => { console.log('child', shared); };

Y luego ejecútalo después de que hayas cambiado lo compartido:

 import shared from './shared.mjs'; import runChild from './child.mjs'; shared.val = 2; console.log('main', shared); runChild();

Ambos tendrán { val: 2 } .

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!