SW 预缓存 - 用于从不同域加载资产的运行时缓存



我正在使用 sw 预缓存来管理我的服务工作线程。假设我的站点 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'
}
}
}

这仅缓存来自网址 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//,
}
}

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

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

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

相关内容

  • 没有找到相关文章

最新更新