2021.8.10
webpack5(6か?)でesm対応が来るまで、webpack v4とそれに対応したバージョンで耐える必要があることがわかってきた しかしwebpack、本当にすごい
最強のバンドラー
指標が「浅い」ですが…
ぶらどらぶ、後半がXXXXXというちょっと微妙な気持ちになる言及も見ちゃって微妙にダメージ受けてる
3−4話めぐらいまでは確実にかなり面白かったと思っている
謎のブイツベがOP歌ってたの、結局なんだったんだ
名前すら出てこず謎のVと書いたが、調べ方がTwitterで「ぶらどらぶ V」なのでロクに情報でないのはそうだった
あーはいはい
そかという気持ちに
見れば見るほどよくわからん企画、ファン層全然かぶってないどころか嫌なかぶり方してそう
制作サイド、というか監督が好きとかならいいと思いますが…
「webpackはtypeof window !== "undefined"をうまく解釈してバンドルできるが、rollupは出来ない気がする(undefined固定でバンドルされる)」と言ったが、もうちょい調査してみるとそれ以前の問題だった code:err
(!) Error when using sourcemap for reporting an error: Can't resolve original location of error.
src/zenza/zenza.tsx (1:9)
! Error: 'NicoCommentPlayer' is not exported by src/zenza/zenzaLoader.js, imported by src/zenza/zenza.tsx src/zenza/zenza.tsx (1:9)
1: import { NicoCommentPlayer } from "./zenzaLoader";
^
code:zenzaLoader.js
require("../../zenzawatch/src/CommentPlayer").NicoCommentPlayer
rollup、exports["a"] = b文法を解釈できてない雰囲気がある
code:zenzaLoader2.js
const NicoCommentPlayer =
require("../../zenzawatch/src/CommentPlayer").NicoCommentPlayer
export { NicoCommentPlayer }
これだと認識するのでimport方法には問題なさそう
GitHubをvm browser typescriptで捜索してて見つけました
よく見たらこれ昨日のbrowserifyのTS化だな…
iframe.contentWindow.eval("import('src')")
ただ、iframeはbodyにappendChildしておく必要があり(display: noneでよい)、インスタンスの結び付きが強い(DOMをバリバリ使うjquery+lodashの旧世代コンポーネントとか)はremoveChildしてはいけない
依存が背負いきれてないのか消滅に耐えられない
https://gyazo.com/08104f938a8612dc19e4e49da6ef3150
iframe外でimportしてたときは普通に出なかったエラー群
https://gyazo.com/17b45379c001d9e1bc9187a667dc7d4d
旧世代コンポーネントに汚染されているDOM
前はこれが直接メインDOMにぶち込まれており大変治安が悪かった
https://gyazo.com/79381125bde9bd72580bf315fb90e91c
これになった
https://gyazo.com/6f18290b39394ce8af38f9e02a37057d
コメント計算ができなくなりました…
そもそもwindow.parentの参照を禁止しようとしたらlocalStorageを見れなくなって完全なsandboxはできないので、一旦削除することにしました… 中身をsetupとかshadowrootで展開する時点で任意インジェクションは自由だもんなあ
ちょっと負荷かけるとMBPからフォンフォン音するのめちゃくちゃウザくなってきた