关于服务人员和工作箱,我有几个问题。
1)何时在webapp中注册服务工作者。 *如果我直接在index.html中注册,如果我有预缓存资产,则 首先,precache资产会使用两次下载两次 请求和一次机智的工作箱,这延迟了第一次绘画。
* 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)在我的Web应用程序中,我们很快使用了许多第三方js,css,gif。因此,在我的路由中,如果我想为每个请求缓存它们(如果注册路由器)似乎很复杂,那么可以尝试使用正则表达式模式,因此如果我需要从缓存中排除某些图像格式,那么任何人都可以建议最好的正则表达式来缓存它们。因此,缓存第三方js,css,api匹配等其他格式的最佳方法。
3)清除缓存的最佳方法是使用到期和全部。但是在我的情况下,如果用户更改了他的位置,我需要清除一些缓存内容,那么我该如何实现。
4)何时使用缓存以及何时使用indexeddb?
5)使用workbox-webpack插件然后直接使用workbox的优势。有什么主要优势吗?
6)注册/注销/更新服务人员的最佳做法?
7)如果我使用workbox-webpack插件和动态路由来缓存js / css文件,那么对于每次构建更改,都会生成具有不同哈希值的js / css文件并对其进行缓存,因此服务工作者使用以下方法缓存同一文件:不同的哈希值。
8)强制删除缓存名称和缓存中的单个文件的最佳方法。