laravel - 渐进式 Web 应用程序 laravel 缓存问题
问题描述
我正在为我的 laravel 项目使用 PWA,我的 PWA 应用程序运行良好,我的网站仅在 https 中运行,但是当我登录我的网站时显示我的旧登录用户详细信息,我该如何解决这个问题?
- 恐怕我的网站也是基于缓存运行的
- 在我的浏览器中未显示本地主机 PWA 图标我如何在本地主机中解决
在这里我添加了服务提供者 js 文件
// Cache API
const staticCacheName = 'app-shell-v2.0';
const filesToCache = [
// Files
'.',
//css files and js file
];
self.addEventListener('install', event => {
console.log('Installing worker to cache static assets');
self.skipWaiting();
event.waitUntil(
caches.open(staticCacheName)
.then(cache => {
return cache.addAll(filesToCache);
})
);
});
self.addEventListener('activate', event => {
console.log('Activating new worker...');
const cacheWhitelist = [staticCacheName];
self.clients.claim();
event.waitUntil(
caches.keys().then(cacheNames => {
return Promise.all(
cacheNames.map(cacheName => {
if (cacheWhitelist.indexOf(cacheName) === -1) {
return caches.delete(cacheName);
}
})
);
})
);
});
self.addEventListener('fetch', event => {
// exclude directories from cache
/*if (event.request.url.match('^.*(\/admin\/).*$','^.*(\/users\/show\/).*$')) {
return false;
}
if (event.request.url.endsWith('authenticate')) {
return false;
}*/
console.log('Fetch event for ', event.request.url);
event.respondWith(
caches.match(event.request)
.then(response => {
if (response) {
console.log('Found ', event.request.url, ' in cache');
return response;
}
console.log('Network request for ', event.request.url);
return fetch(event.request)
.then(response => {
if (response.status === 404) {
return caches.match('https://site_url/404.html');
}
return caches.open(staticCacheName)
.then(cache => {
cache.put(event.request.url, response.clone());
return response;
});
});
}).catch(error => {
console.log('Error, ', error);
return caches.match('https://site_url/offline.html');
})
);
});
解决方案
推荐阅读
- redux - Redux Saga socket.io
- c# - 无法测试回文
- javascript - Firebase 制定安全规则以仅允许获取查询大小
- php - CURL PHP试图获取非对象的属性
- reactjs - 切换具有状态依赖的组件
- css - 使用grid而不是flex在最后一行排列一些项目
- javascript - 如何将登录的用户 ID 传递给 Bigcommerce 中的 iframe url
- asp.net-mvc - 如何检查一组值在实体框架中的某个日期/工作日下出现了多少次
- amazon-web-services - 使用 Cognito 防止多个同时登录
- gradle - 如何创建增量构建以从输入文件名派生输出文件名?