Open5
TypeScriptをServiceWorkerで書く方法を考える(vite)
難しいところ
ServiceWorkerは別のファイルとして作らないといけないから、Viteの圧縮のいろいろが使えない。また、出されたファイルを通常の位置ではなくて、ルートに置かないと使えない。
欲しいもの
- 別のファイルとして出力
- でも、圧縮とかはしてほしい
- ルートに置けるようにする
WebWorkerの実装
サービスワーカーではないけれど参考になるかもしれない
他にはあまりなかった(調べ切れてないだけかもしれないけど)
Viteなどでウェブワーカーの操作方法
ここで、viteで使えるimport myWorker from "./myWorker?worker"
の処理をしている。
方法を見ると、Rollupを内部的にもう一度呼び出してバンドルしている。
結論
TypeScriptで書くには自前でバンドルする処理を実装しなくてはいけない