本サイトに Service Workerを投入しました。以前書いた通りなのですが、hexo-offlineを利用してService Workerを導入したいと考えていました。

とりあえずいれた。いれたのはいいんですが、キャッシュさせてるのは下記の3つだけです。

  • 背景画像
  • サムネイル
  • ファビコン

以上です。

だって、そんなバカスカキャッシュさせてもユーザからしたら迷惑だと思うんですよ。なので、控えめに上三つだけにしました。そもそもこのサイトをPWAとか別にやるつもりは一切ないので…。まあ、ちょっとでも速くなればいいかな。とおもってやってるんですが。ただ、意味ないのじゃないか(むしろこれらはもともとnginxでブラウザキャッシュを有効にしているので、Service Workerがバックグラウンドで動くだけ無駄なのでは)感が大きいです。

というか、正直に書くとService Workerよくわかってない。

_config.yml


hexo-offlineの設定は下記のような感じにしてます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
offline:
maximumFileSizeToCacheInBytes: 5242880
staticFileGlobs:
- public/assets/images/favicon.ico
- public/assets/images/covers/cover.JPG
- public/assets/images/avatar.jpg
stripPrefix: public
verbose: true
runtimeCaching:
- urlPattern: /*
handler: networkFirst
options:
origin: ad.doubleclick.net
- urlPattern: /*
handler: cacheFirst
options:
origin: cdn.jsdelivr.net
- urlPattern: /*
handler: cacheFirst
- urlPattern: /*
handler: cacheFirst
options:
origin: fonts.gstatic.com
- urlPattern: /*
handler: cacheFirst
options:
origin: cdnjs.cloudflare.com

現場からは以上です。