workbox - 使用工作箱缓存谷歌字体

标签 workbox

有人可以帮忙告诉我如何使用 workbox-build 缓存谷歌字体吗?我想在文件中包含要预缓存的 url,但这对我来说是不可能的。与普通的 service worker 不同,我所要做的就是在安装事件期间将 url 包含在要缓存的文件列表中。请我一整天都在坚持这个。

最佳答案

你可以使用 workbox-webpack-plugins 在你的 webpack 配置中缓存谷歌字体:

import { GenerateSW } from 'workbox-webpack-plugins';

然后将以下 fn 放入您的插件中:
    new GenerateSW({
      runtimeCaching: [
        {
          urlPattern: /^https:\/\/fonts\.gstatic\.com/,
          handler: 'StaleWhileRevalidate',
          options: {
            cacheName: 'google-fonts-webfonts'
          }
        }
      ]
    }),

这是在不同答案中链接的 Google 通用配方的略微修改版本。上面的代码在运行时看起来与工作箱 fn 相同。

https://developers.google.com/web/tools/workbox/guides/common-recipes

关于workbox - 使用工作箱缓存谷歌字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52451678/

相关文章:

Workbox 5 语法错误 - 未捕获的类型错误 : workbox. 到期。CacheableResponsePlugin 不是构造函数

javascript - 我如何实际显示 Workbox 中更新的 index.html?

ios - Cordova PWA 应用程序离线模式

javascript - 如何使用 Node.js 在非常简单的 JS 文件中编辑对象

webpack - Workbox 的预缓存 list 文件在 Laravel Mix 设置中包含无效的 URL 字符串

javascript - service-worker `onupdatefound` 未在移动设备上触发

Chrome 中 Service-Worker 处于等待状态

service-worker - PWA : No matching service worker detected. 您可能需要重新加载页面

angular - workbox-webpack-plugin 和 Angular。如何在 Angular 中监听 broadcastUpdate 事件

reactjs - 停止在 webpack-dev-server 中构建 Service Worker 的工作箱