Допустим, у нас есть четыре модуля: 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? Что мне делать, если я хочу, чтобы модуль оценивался ТОЛЬКО ОДИН РАЗ, независимо от того, сколько раз он импортировался прямо или косвенно? У кого-нибудь есть идеи по этому поводу?
class
es. - person Bergi   schedule 12.04.2016