sw precache - кэширование во время выполнения загрузки ресурсов из другого домена
Я использую 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'
}
}
}
Это кеширует css только с URL abc.com/style/style.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\//,
}
}
но все напрасно. Если кто-то сталкивался с той же проблемой, любая помощь в правильном направлении будет высоко оценена.
1 ответ
Я считаю, что ваша проблема заключается в том, что вы передаете строку как urlPattern, когда вам действительно нужно передать регулярное выражение.
Так что вместо 'https:\/\/xyz\.com\/*.js'
ты должен использовать /https:\/\/xyz\.com\/*.js/
,