Скажем, у нас есть четыре модуля: A, B, C и D
В модуле A:
console.log("A evaluated")
function AClass {
console.log("A constructor")
}
var aObj = new AClass()
export default aObj;
В модуле B:
import aObj from A
export default "B"
В модуле C:
import aObj from A
export default "C"
В модуле D:
import b from B
import c from C
import aObj from A
Итак, когда вычисляется модуль D, сколько раз будут отображаться A evaluated и A constructor в консоли?
Это поведение описано в стандарте ES6? Что делать, если я хочу, чтобы модуль оценивался ТОЛЬКО один раз независимо от того, сколько раз импортируется прямо или косвенно? У кого-нибудь есть идеи об этом?