2021-04-25 (日)
JavaScriptのmodule,URLで識別されてるので
import { Hello as Hello1 } from "./hello.js?123"; import { Hello as Hello2 } from "./hello.js?456"; let hello = new Hello1(); console.log(hello instanceof Hello2);
これはfalseになる.
上の例だと結果は明らかだけど,依存関係が何階層もあって離れた場所で同じものをimportしていたりすると,複数の場所からロードされてもなかなか気づかなくてハマりそう.具体的には,THREE.jsのES module版をブラウザ上でimportして使っていたらCDNのURLが微妙に違っていて複数読み込まれていて困った.