我使用 create-react-app
创建了一个应用程序,默认情况下它是一个渐进式 Web 应用程序(它加载此 file )。
因此,现在每次我部署新内容时,应用程序都不会刷新。在提供缓存内容之前,它多久检查一次新内容?如何选择保存缓存的时间?
最佳答案
基于此documentation ,默认情况下,页面的提取不会通过 Service Worker,除非页面请求本身通过 Service Worker。因此,您需要刷新页面才能看到 Service Worker 的效果。
下面是一个示例,其中 3 秒后添加了狗的图像。
<!DOCTYPE html>
An image will appear here in 3 seconds:
<script>
navigator.serviceWorker.register('/sw.js')
.then(reg => console.log('SW registered!', reg))
.catch(err => console.log('Boo!', err));
setTimeout(() => {
const img = new Image();
img.src = '/dog.svg';
document.body.appendChild(img);
}, 3000);
</script>
另外,根据这个Updating your service worker ,如果您的 Service Worker 之前已安装,但刷新或页面加载时有新版本的 Worker 可用,则新版本将在后台安装,但尚未激活。仅当不再加载任何仍在使用旧 Service Worker 的页面时,它才会被激活。一旦不再加载此类页面,新的服务工作线程就会激活。
关于reactjs - Service Worker 多久刷新一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44204016/