GatsbyのブログでServiceWorkerを辞めてみる

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 を入れなおすかもしれません。

参考