我正在使用 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'
。