对于根url (即"/“)的正确预存方式,我有点困惑。
如果我使用webpack-plugin来生成precacheManifest,它不包含"/“条目。当然,"/index.html“也包括在内。现在,如果用户加载该应用程序,并在没有网络连接的情况下尝试加载根url,则该站点将不会加载,因为建议对根url没有任何作用。如果用户试图加载"/index.html“,那么一切都能很好地工作。但是用户不加载该url,而是加载根url。那么如何缓存呢?
我是否应该使用navigateFallback: index.html选项,据我理解,该选项将用户重定向到所提供的url,以防连接丢失和缓存丢失?
或者我应该使用templatedUrls:{ "/":" index.html“}选项,据我理解,该选项基于index.html生成一个散列,然后根据该哈希值的变化缓存"/”?
还是我应该使用完全不同的策略?
多谢百万!
发布于 2018-04-11 20:05:24
默认情况下,当以/结尾的URL出现初始precache缺失时,工作框将再次检查它的预缓存文件列表,以查看是否与以/index.html结尾的相同URL匹配。
您可以更多地了解这方面的内容,以及如何自定义默认行为workbox-precaching。
所以..。事情应该像你所描述的那样工作,而不需要做任何事情。(您需要确保在服务工作人员激活并控制当前窗口客户端之后进行测试。)
如果您没有看到这种行为,听起来工作框中可能有一个bug,最好在问题跟踪器中提供更多的详细信息。
https://stackoverflow.com/questions/49696828
复制相似问题