If I import a module A inside both module B and C, is the code inside A executed 2 times in total? That means if I call fetch() inside A, will fetch() be called 2 times?
e.g.
//file: A.js
var A = {
init: false,
count: 0
};
if(A.init == false) {
A.init = true;
A.value = fetch("https://...");
}
I thought module codes are only executed once for the lifetime of the webpage no matter how many times they are imported?
So if inside module B I set A.count = 1, then inside module C, the value of A.count is also 1.
But according to "Import a module for its side effects only" at:
CodePudding user response:
The code from Module A will be executed 2 times! Once in Module B and again in Module C.
Module A
function foo() {
return 'yo I`m in module A being executed in... ';
}
module.exports = foo();
Module B
const foo = require('./moduleA');
console.log(`${foo} in module B`);
Module C
const foo = require('./moduleA');
console.log(`${foo} in module C`);

