Подтвердить что ты не робот

Импортирует ли модуль модуля ES6 код внутри импортируемого файла?

Выполняется ли код внутри js файла во время импорта? если да, то один раз или каждый раз? например

// a.js
console.log("A");
const a = "a"; 
export default a;

// b.js
import a from "./a"; // => console logs?

// c.js
import a from "./a"; // => console logs again?
4b9b3361

Ответ 1

Да, это так, ровно один раз. Почему бы вам просто не попробовать?

См. Http://www.ecma-international.org/ecma-262/6.0/#sec-abstract-module-records:

Не делайте ничего, если этот модуль уже был оценен. В противном случае, транзитивно оцените все модульные зависимости этого модуля, а затем оцените этот модуль