Si importo un module A dentro del módulo B y C, ¿el código dentro de A se ejecuta 2 veces en total? Eso significa que si llamo a fetch() dentro de A, ¿se llamará a fetch() 2 veces?
p.ej
//file: A.js var A = { init: false, count: 0 }; if(A.init == false) { A.init = true; A.value = fetch("https://..."); }Pensé que los códigos de módulo solo se ejecutan una vez durante la vida útil de la página web, sin importar cuántas veces se importen.
Entonces, si dentro del módulo BI establece A.count = 1 , entonces dentro del módulo C, el valor de A.count también es 1.
Pero de acuerdo con "Importar un módulo solo por sus efectos secundarios" en:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
Puedo ejecutar un código de módulo A varias veces para cada módulo (B, C, D) que lo usa. ¿Cómo se corresponde esto con lo anterior?
¡El código del Module A se ejecutará 2 veces! Una vez en Module B y otra vez en el Module C
Módulo A
function foo() { return 'yo I`m in module A being executed in... '; } export default foo;Módulo B
import foo from './moduleA'; console.log(`${foo()} in module B`);Módulo C
import foo from './moduleA'; console.log(`${foo()} in module C`);