2021-03 << 2021-04 >> 2021-05

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が微妙に違っていて複数読み込まれていて困った.

2021-03 << 2021-04 >> 2021-05