PWA をしばらく調べているうちに、GatsbyJS のブログで ServiceWorker っていらなくね?ってなったので辞めることにしました。
ざっくりした理由は以下
- そもそも、更新頻度も低いので、オフライン機能が必要かと言われればいらないし
- 頻繁に記事構成を変えるので、今最新の状況が適用されているのかがわからなくなるし(これがでかい)
- デプロイしたら最新が見えてほしいけど、ちょっと待たないといけないような感じ
↑ のようなことを気にしないといけない、という状態がすでにめんどくさくなってしまい、 SW を切って、普通の HTML になってもらうことにしました。それでも十分早い。
SW を削除する
一旦動かしたことのある SW に対しては、パッケージから SW を削除するだけではなく、 表示ブラウザ各方面に対して SW を削除してまわるプラグインを入れる必要があります。 (これは各ユーザーが、各ブラウザ内の SW を削除することと同義です)
package
yarn remove gatsby-plugin-offline
yarn add gatsby-plugin-remove-serviceworker
gatsby-config.js から gatsby-plugin-offline を削除、登録の解除を設定する
plugins: [
- `gatsby-plugin-offline`,
+ `gatsby-plugin-remove-serviceworker`,
]
これにより、ユーザーのブラウザーに古いバージョンが登録されたままになるのではなく、ワーカーが適切に登録解除されます。
メモ
Google は PWA を推しているので、時代に逆行していますね。
気が向いたらまた SW を入れなおすかもしれません。