Рабочая среда не переопределяет стратегию по умолчанию - PullRequest
0 голосов
/ 21 марта 2019

Возникают некоторые проблемы с переопределением стратегии cacheFirst по умолчанию в Nuxt Workbox.

Ожидаемое поведение: cacheFirst заменяется staleWhileRevalidate

nuxt.config.js:

workbox: {
  runtimeCaching: [
    {
      urlPattern: '/_nuxt/.*',
      handler: 'staleWhileRevalidate',
      method: 'GET'
    }
  ]
}

Текущее поведение: Создает новую запись вместо переопределения.

sw.js:

workbox.routing.registerRoute(new RegExp('/_nuxt/.*'),
workbox.strategies.cacheFirst({}), 'GET')

workbox.routing.registerRoute(new RegExp('/.*'), 
workbox.strategies.networkFirst({}), 'GET')

workbox.routing.registerRoute(new RegExp('/_nuxt/.*'), 
workbox.strategies.staleWhileRevalidate({}), 'GET')

Не уверен, что мне не хватает.Спасибо вам за помощь.Ура! * * 1013

1 Ответ

1 голос
/ 26 марта 2019

Я вроде бы решил эту проблему, добавив в nuxt.config.js:

workbox: {
  cachingExtensions: '@/plugins/wb-ext.js'
}

Тогда мой wb-ext.js содержит:

workbox.routing.registerRoute(new RegExp('/_nuxt/.*'), 
workbox.strategies.staleWhileRevalidate({
  plugins: [
    new workbox.broadcastUpdate.Plugin('new-update-channel')
  ]
}), 'GET')

Это добавляет код wb-ext выше автоматически сгенерированной стратегии cacheFirst, созданной Nuxt Workbox в файле sw.js.

Теперь во время разработки Dev я получаю сообщение о том, что Workbox использует StaleWhileRevalidate в консоли Dev, и плагин широковещательного обновления работает, как и ожидалось.

Не стесняйтесь комментировать, если у вас есть более чистый способ достижения этого без конфликтующих стратегий в файле sw.js.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...