Caching 如何使用bybass服务工作者缓存?

Caching 如何使用bybass服务工作者缓存?,caching,progressive-web-apps,service-worker,Caching,Progressive Web Apps,Service Worker,我有一个进步的网络应用程序。在主页上,我有一个登录模式。如果用户登录到应用程序中,服务器会重新加载用户配置文件,而不是使用登录按钮。现在我遇到的问题是,当我实现pwa时,它会缓存主页和其中的所有内容,以便在用户登录后不会呈现来自服务器的新页面。 我的应用程序后端位于Nodejs(restapi)中,使用javascript使用API,但我使用ejs呈现页面。我怎样才能解决这个问题?。现在,我决定不缓存有登录模式的主页。执行此操作后,我意识到应用程序现在不符合PWA安装要求。听起来您不应该将服务人

我有一个进步的网络应用程序。在主页上,我有一个登录模式。如果用户登录到应用程序中,服务器会重新加载用户配置文件,而不是使用登录按钮。现在我遇到的问题是,当我实现pwa时,它会缓存主页和其中的所有内容,以便在用户登录后不会呈现来自服务器的新页面。
我的应用程序后端位于Nodejs(restapi)中,使用javascript使用API,但我使用ejs呈现页面。我怎样才能解决这个问题?。现在,我决定不缓存有登录模式的主页。执行此操作后,我意识到应用程序现在不符合PWA安装要求。

听起来您不应该将服务人员配置为缓存普通HTML。相反,您可以使用一个服务工作者,该服务工作者在联机时将始终进入网络,并在导航请求失败时显示自定义的“对不起,您脱机了”HTML

下面是一个遵循这种模式的实例:


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

听起来您不应该将服务人员配置为缓存普通HTML。相反,您可以使用一个服务工作者,该服务工作者在联机时将始终进入网络,并在导航请求失败时显示自定义的“对不起,您脱机了”HTML

下面是一个遵循这种模式的实例:


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

您可以将所有内容缓存在服务人员中。 当您需要为经过身份验证的用户和未经身份验证的用户显示不同的内容时,您可以根据需要在UI代码中甚至在service worker中呈现这些内容

一个常见的例子是在标题中显示/隐藏登录、注销和配置文件链接。加载页面时,只需几行代码就可以完成这一切。 这些示例主要是类列表。[添加|删除|切换]。配置文件可以使用一个简单的模板并设置包装器的innerHTML。
最后,它并没有那么复杂,我一直在为应用程序做这件事。

您可以将所有内容缓存在服务工作者中。 当您需要为经过身份验证的用户和未经身份验证的用户显示不同的内容时,您可以根据需要在UI代码中甚至在service worker中呈现这些内容

一个常见的例子是在标题中显示/隐藏登录、注销和配置文件链接。加载页面时,只需几行代码就可以完成这一切。 这些示例主要是类列表。[添加|删除|切换]。配置文件可以使用一个简单的模板并设置包装器的innerHTML。
最后它并没有那么复杂,我一直在为应用程序做这些。

谢谢。我决定在使用服务时使用网络优先的方法。谢谢。我决定在使用服务人员时使用网络优先的方法