【问题标题】:Workbox - Files served from Cache by Service Worker even if caching strategy used is NetworkOnlyWorkbox - Service Worker 从缓存中提供的文件,即使使用的缓存策略是 NetworkOnly
【发布时间】:2020-08-13 11:57:03
【问题描述】:

我在我的项目中使用 Workbox for PWA。作为缓存策略,我使用的是 workbox.strategies.NetworkOnly 类中的 NetworkOnly。据我了解,仅网络意味着 ServiceWorker 将始终从服务器请求文件,而不是从缓存中请求文件。但是,当我查看网络选项卡时,文件似乎是由 ServiceWorker 从缓存中提供的。

我的理解有什么问题吗?

请参考下面代码sn-ps的截图:

【问题讨论】:

    标签: html progressive-web-apps service-worker workbox


    【解决方案1】:

    无论服务器工作人员使用缓存还是网络来获取资源,网络选项卡都将显示“ServiceWorker”作为源。

    如果您想测试是否仅从网络提供资源,您可以切换到离线模式并查看这些资源是否无法加载。此外,如果 service worker 从网络中获取资源,该资源将在网络列表中显示两次。一次在客户端和服务人员之间,一次在服务人员和服务器之间。你可以看到bundle.min.js 被列出了两次,所以它是从网络中获取的。

    【讨论】:

    • 非常感谢亚伯拉罕的澄清。只是为了确认:如果使用ServiceWorker,那么无论使用缓存策略,源/发起者都会显示为ServiceWorker?是的,由于选择了 NetworkOnly 模式,在离线模式下,捆绑包没有被加载,这几乎证实了该策略!附带说明一下,我在加载时注意到许多资源,在网络选项卡上,它们显示了两次 - 一次是看似实际的请求,我可以在其预览中看到响应,一次在其预览中的名称旁边有一个小“点”我看到空白回复。你能解释一下它是什么吗?
    猜你喜欢
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    相关资源
    最近更新 更多