我有一个服务器端渲染的反应应用程序,我想向它添加服务工作者缓存。
在应用程序中,用户可以登录并查看他们保存的设置。在初始加载时,服务器使用基于 auth cookie 预先呈现的这些设置为应用程序提供服务。如果用户未登录,则服务器会预先呈现登录表单。
如果我在主页 index.html 上使用默认的缓存优先策略,那么当用户注销并刷新页面时,他们将看到他们仍然登录的缓存版本。
在 index.html 上使用网络优先策略部分地解决了这个问题,但在这种情况下它会失败:用户注销或更改他们的任何设置,离线然后刷新页面 - 他们会看到缓存的版本,就好像他们没有任何操作一样曾经发生过,尽管他们只是在刷新之前看到了实际的最新版本。
我能想到的一种解决方案是每次发生非 GET 请求时更新 index.html 缓存 - 例如,注销必须是 DELETE 请求。这实际上可以解决所有问题,并且可能足够通用以包含在框架中。
无论如何,我想我可以弄清楚如何使用 workbox 收听非 GET 请求,但是如何更新侦听器中的 index.html 缓存?
我将继续检查工作箱源代码,但我很想得到提示,提前谢谢!