首页 > 解决方案 > 我如何绕过服务工作者缓存?

问题描述

我有一个渐进式网络应用程序。在主页上,我有一个日志模式。如果用户登录应用程序重新加载并且现在服务器呈现用户配置文件而不是登录按钮。现在遇到的问题是,当我实现 pwa 时,它会缓存主页及其中的所有内容,因此在用户登录后不会呈现来自服务器的新页面。我的应用程序后端位于Nodejs(REST API)中并且正在使用javascript 来使用 api,但我使用ejs来呈现页面。我该如何解决这个问题?现在我决定不缓存我有登录模式的主页。完成此操作后,我意识到该应用程序现在不符合 PWA 安装要求。

标签: cachingprogressive-web-appsservice-worker

解决方案


听起来你不应该配置你的服务工作者来缓存你的普通 HTML。取而代之的是,您可以使用一个服务工作者,它在在线时总是会访问网络,并在导航请求失败时显示自定义的“抱歉,您离线”HTML。

下面是一个遵循这种模式的活生生的例子:

https://googlechrome.github.io/samples/service-worker/custom-offline-page/

这样做足以满足“添加到主屏幕”PWA 安装要求。


推荐阅读