Skip to content

Commit b4e85a2

Browse files
committed
Added exclude list for PWA caching.
1 parent fa77dfb commit b4e85a2

2 files changed

Lines changed: 22 additions & 5 deletions

File tree

assets/data/cache-list.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# MIT Licensed
77
---
88

9-
var cacheList = [
9+
const include = [
1010

1111
/*--- CSS ---*/
1212

@@ -99,7 +99,6 @@ var cacheList = [
9999
/*--- Others ---*/
100100

101101
{% if site.google_analytics.pv.enabled %}
102-
'{{ "/assets/data/pv-data.json" | relative_url }}',
103102
'{{ "/assets/lib/countUp.min.js" | relative_url }}',
104103
'{{ "/assets/js/dist/pageviews.min.js" | relative_url }}',
105104
{% endif %}
@@ -110,3 +109,8 @@ var cacheList = [
110109
'{{ "/app.js" | relative_url }}',
111110
'{{ "/sw.js" | relative_url }}'
112111
];
112+
113+
const exclude = [
114+
'/assets/data/pv-data.json',
115+
'/img.shields.io/'
116+
];

sw.js

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,22 @@ self.importScripts('{{ "/assets/data/cache-list.js" | relative_url }}');
1010

1111
var cacheName = 'chirpy-{{ "now" | date: "%Y%m%d.%H%M" }}';
1212

13+
14+
function isExcluded(url) {
15+
for (const rule of exclude) {
16+
if (url.indexOf(rule) != -1) {
17+
return true;
18+
}
19+
}
20+
return false;
21+
}
22+
23+
1324
self.addEventListener('install', (e) => {
1425
self.skipWaiting();
1526
e.waitUntil(
1627
caches.open(cacheName).then((cache) => {
17-
return cache.addAll(cacheList);
28+
return cache.addAll(include);
1829
})
1930
);
2031
});
@@ -26,8 +37,10 @@ self.addEventListener('fetch', (e) => {
2637
/* console.log('[Service Worker] Fetching resource: ' + e.request.url); */
2738
return r || fetch(e.request).then((response) => {
2839
return caches.open(cacheName).then((cache) => {
29-
/* console.log('[Service Worker] Caching new resource: ' + e.request.url); */
30-
cache.put(e.request, response.clone());
40+
if (!isExcluded(e.request.url)) {
41+
/* console.log('[Service Worker] Caching new resource: ' + e.request.url); */
42+
cache.put(e.request, response.clone());
43+
}
3144
return response;
3245
});
3346
});

0 commit comments

Comments
 (0)