只导入 javascript 个模块 运行 一次吗?

Does importing javascript modules only run them once?

如果我在模块B和C中都引入了一个module A,那么A里面的代码总共执行了2次吗?这意味着如果我在 A 中调用 fetch()fetch() 会被调用 2 次吗?

例如

//file: A.js
var A = {
  init: false,
  count: 0
};

if(A.init == false) {
  A.init = true;
  A.value = fetch("https://...");
}

我以为无论导入多少次,模块代码在网页的生命周期内只执行一次?

所以如果在模块B里面我设置了A.count = 1,那么在模块C里面,A.count的值也是1.

但根据“导入模块仅用于其副作用”,网址为:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import

我可以运行 为使用它的每个模块(B、C、D)多次编写模块 A 代码。这与上述情况如何相称?

来自Module A的代码将被执行2次!一次在 Module B 一次在 Module C.

模块 A

function foo() {
  return 'yo I`m in module A being executed in... ';
}

export default foo;

模块 B

import foo from './moduleA';

console.log(`${foo()} in module B`);

模块 C

import foo from './moduleA';

console.log(`${foo()} in module C`);