Когда я кладу sh мой pwa в Heroku после некоторого «закрытия и повторного открытия» приложения, пакет. js удаляется из кеш-памяти внутри браузера. Поэтому, когда я открываю приложение, оно показывает только белый экран. Это происходит только на Android с chrome.
мой работник службы:
CACHENAME = '2020-02-29 23:48:15.963115'
const CACHEASSETS = [
'./index.html',
'./main.css',
'./bundle.js',
'./sw.js',
'./manifest.json',
'./images',
'./static.json',
'./images/icons',
'./images/icons/icon-384x384.png',
'./images/icons/icon-96x96.png',
'./images/icons/icon-144x144.png',
'./images/icons/icon-72x72.png',
'./images/icons/icon-192x192.png',
'./images/icons/icon-128x128.png',
'./images/icons/icon-152x152.png',
'./images/icons/icon-512x512.png',
'./',
'./home',]
self.addEventListener('install', (e) => {
console.log('The service worker is being installed.');
e.waitUntil(
caches
.open(CACHENAME)
.then(cache => {
console.log("Service Worker: Caching Files");
cache.addAll(CACHEASSETS);
})
.then(() => self.skipWaiting())
);
});
self.addEventListener('activate', (e) =>{
console.log("Service Worker: Activated");
e.waitUntil(
caches.keys().then(cacheNames =>{
return Promise.all(
cacheNames.map(cache =>{
if(cache !== CACHENAME){
console.log("Service Worker: Clearing Old Cache",cache);
return caches.delete(cache);
}
})
)
})
)
})
self.addEventListener('fetch', (e) => {
console.log("Service Worker: Fetching", e);
if(e.request.clone().method === 'GET'){
e.respondWith(
caches.match(e.request).then((cachedResponse) =>{
return cachedResponse;
})
)
}
});
Вот приложение: https://mysterious-anchorage-81982.herokuapp.com/
Тестовая среда: Chrome 80.0.3987.117 на Android 9.