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/,

Другие вопросы по тегам