1

我有几个关于服务人员和工作箱的问题。

1) 何时在 webapp 中注册 service worker。* 如果我直接在 index.html 中注册,如果我有预缓存资产,那么在第一次绘制时,预缓存资产将通过请求下载两次,一次通过工作箱下载,这会延迟第一次绘制。

* If I register onload of page the issue is getting resolved but if I 
  have api hits which are to be cached it is getting cached on second 
  time refresh of the page.

2) 在我的 webapp 中,我们很快就使用了很多 3rd 方 js、css、gif。所以在我的路由中,如果我想为每个请求缓存它们,如果注册一个路由器,它似乎很复杂,所以尝试使用正则表达式模式,所以如果我需要从缓存中排除某些图像格式,任何人都可以建议最好的正则表达式来缓存它们。所以缓存第三方js、css、api命中等其他格式的最佳方式。

3) 最好的清除缓存的方法,一种是使用过期和全部。但在我的情况下,如果用户更改他的位置,我需要清除一些缓存内容,那么我该如何实现这一点。

4) 何时使用缓存以及何时使用 indexeddb ?

5)使用workbox-webpack插件然后直接使用workbox的优点。有什么主要优势吗?

6)注册/注销/更新服务工作者的最佳实践?

7) 如果我使用 workbox-webpack 插件和动态路由来缓存 js/css 文件,那么对于每个构建更改,都会生成具有不同哈希的 js/css 文件并将其缓存,因此服务工作者缓存具有不同哈希值的相同文件.

8) 强制删除缓存名称和缓存中单个文件的最佳方法。

4

0 回答 0