1

我正在使用 sw precache 来管理我的服务人员。假设我的网站是 abc.com 并且服务工作者正在这个网站上运行并通过 url abc.com/service-worker.js 加载

所有的 css 和 js 都是从不同的 url 加载的,以进行优化让我们说 xyz.com

现在在我提供时在运行时缓存中

{
  // See https://github.com/GoogleChrome/sw-toolbox#methods
  urlPattern: '*.css',
  handler: 'fastest',
  // See https://github.com/GoogleChrome/sw-toolbox#options
  options: {
    cache: {
      maxEntries: 20,
      name: 'css-cache'
    }
  }
}

这仅从 url abc.com/style/style.css 缓存 css 而不是 xyz.com/style/test.css

我努力了

{
  // See https://github.com/GoogleChrome/sw-toolbox#methods
  urlPattern: 'https:\/\/xyz\.com\/*.js',
  handler: 'fastest',
  // See https://github.com/GoogleChrome/sw-toolbox#options
  options: {
    cache: {
      maxEntries: 20,
      name: 'js-cache'
    },
    // urlPattern: /\.googleapis\.com\//,
  }
}

但一切都是徒劳的。如果有人遇到过同样的问题,我们将不胜感激任何正确方向的帮助。

4

1 回答 1

2

我相信您的问题是,当您实际上应该传递正则表达式时,您将字符串作为 urlPattern 传递。

因此,'https:\/\/xyz\.com\/*.js'您应该使用/https:\/\/xyz\.com\/*.js/.

于 2017-09-27T10:41:14.970 回答