У меня есть SPA с сервисным работником, созданным с помощью плагина Workbox webpack. Корневой URL-адрес «/» — это отдельная домашняя страница для моего веб-сайта, а не часть моего SPA, поэтому я хочу, чтобы мой сервисный работник не возвращался к оболочке приложения моего SPA, а вместо этого извлекал домашнюю страницу с сервера, когда я перехожу к « /". Я знаю, что в workbox есть опция navigationFallbackBlacklist для указания шаблонов URL-адресов, которые не являются частью SPA. Этот параметр работает для нескольких других путей URL-адресов, которые есть на моем веб-сайте, но не для корневого URL-адреса. Мне интересно, есть ли обходные пути для моего варианта использования.
Работает на ми: С workbox-build и generateSw:
...
runtimeCaching: [
{
urlPattern: /^https://(www\.)?test.local(/)?$/,
handler: 'NetworkFirst',
options: {
cacheName: 'home-page',
expiration: {
maxAgeSeconds: 30 * 24 * 60 * 60, // 30 DAYS
maxEntries: 1
}
}
},
Или написать вручную:
workbox.routing.registerRoute(
/^https://(www\.)?test.local(/)?$/,
workbox.strategies.networkFirst({
cacheName: 'home-page',
...
})
)
(NetworkFirst handler mode is important, in many cases)