我正在使用以下策略来缓存图像:
workbox.routing.registerRoute(
/.*\.(?:png|jpg|jpeg|svg|webp|gif)/,
new workbox.strategies.CacheFirst({
"cacheName": "images",
plugins: [
new workbox.expiration.Plugin({
maxEntries: 60,
maxAgeSeconds: 2592000,
purgeOnQuotaError: false})]
}), 'GET');
我没有定义任何其他特定策略。
当我在index.html
包含 Giphy 托管的 Gif 中尝试它时:
<img src="https://media.giphy.com/media/xUA7baWfTjfHGLZc3e/giphy.gif"/>
只要我在线,Worbox 似乎就可以正确缓存
使用 CacheFirst 响应“ https://media.giphy.com/media/xUA7baWfTjfHGLZc3e/giphy.gif ”
如果我禁用我的 wifi 并尝试离线刷新我的页面,我会遇到以下错误:
“ https://media.giphy.com/media/xUA7baWfTjfHGLZc3e/giphy.gif ” 的工作箱网络请求引发错误。类型错误:获取失败
未捕获(承诺)无响应:该策略无法为“ https://media.giphy.com/media/xUA7baWfTjfHGLZc3e/giphy.gif ”生成响应。基础错误是 TypeError: Failed to fetch。在 CacheFirst.makeRequest ( https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-strategies.dev.js:180:15 )
获取https://media.giphy.com/media/xUA7baWfTjfHGLZc3e/giphy.gif net::ERR_FAILED
因此,我错过了什么吗?我应该配置更多东西来缓存 Giphy gif 吗?或者它实际上是一个错误?还是解决不了的问题?
任何帮助表示赞赏,在此先感谢您