Кэширование внешних загрузок с помощью Workbox - PullRequest
0 голосов
/ 01 мая 2020

Я работаю на сайте Gatsby JS, используя gatsby-plugin-offline, который доступен на example.com и хотел бы создать PDF-файлы, на которые я ссылаюсь на example.com, но которые находятся на download.example.com. /example.pdf доступен в автономном режиме. Это возможно?

1 Ответ

1 голос
/ 01 мая 2020

Да, это возможно. Я не на 100% знаком с конфигурацией gatsby-plugin-offline, но похоже, что https://www.gatsbyjs.org/packages/gatsby-plugin-offline/#available -options описывает процесс добавления дополнительных логинов рабочего сервиса c к концу его конфигурации по умолчанию:

plugins: [{
  resolve: `gatsby-plugin-offline`,
  options: {
    appendScript: require.resolve(`src/custom-sw-code.js`),
  },
}]

Затем в src/custom-sw-code.js:

workbox.routing.registerRoute(
  ({url}) => url.pathname.endsWith('.pdf'),
  // Use StaleWhileRevalidate, CacheFirst, etc. as desired.
  new workbox.strategies.StaleWhileRevalidate({cacheName: 'pdfs'})
);
...