フロントエンドエンジニア芸人もりたけんじのJavaScript【JavaScript】JavaScript中級者の為の練習問題集261問(脱初心者へ)2016/09/10更新

【解決済み】更新されない!!困った!!Status Code:200 OK (from ServiceWorker)” in Chrome

【解決済み】更新されない!!困った!!Status Code:200 OK (from ServiceWorker)" in Chrome

問題

スコープの範囲を間違えて本来キャッシュしたくないものまでService Workerが返しているようだ。
APIとかも更新されないし、
デプロイしたmain.jsも更新されない

対応

どうでもいいから取り敢えず即座にキャッシュを無くして反映してほしい。
元に戻したい。
一番早いのは
登録されているswを登録削除にすること
記述次第で全てのキャッシュを消すこと

これを置き換えて一旦消す
ServiceWorkerで登録されたjs(以下sw.js)に変更がある場合にブラウザはinstallをします。
これはSPAではないページの場合、別ページに遷移した時発火します

注意点

・sw.js内でエラーが起きていないこと
・以前のsw.jsと変更があること

です
最近あったのはdev環境などで認証をしている場合、SW内のfetchイベントでエラーを吐いていて更新されないというのがありました
認証を外して開発しなくてはいけないかもしれません。

またその場合

をつけること

ServiceWorkerはCache-Control: max-age=にしたがって登録したsw.jsを更新しますが
例外的に24時間以上経つとサーバーに更新がないかブラウザは自動的に問い合わせます
sw.js自体はキャッシュされないので
これは例えば
Cache-Control: max-ageに1年、1weekとしても問い合わせます
なので即座にinstallしてほしい場合
max-age=0
などにするとすぐ反映されます

後ほど誰でもわかるServiceWorkerの記事書きます