Я использую workbox с веб-пакетом для создания работника сервиса.
Со следующим кодом в webpack.config.js
:
new WorkboxPlugin.InjectManifest({
swSrc: "./src/sw.js"
}),
работник сервисасгенерировано красиво.
В ./src/sw.js
у меня есть:
workbox.precaching.precacheAndRoute(self.__precacheManifest || []);
И все мои активы прекрасно кэшированы.
Однако у меня есть одностраничное приложение иЯ заметил, что при обновлении страницы в автономном режиме по маршруту, не связанному с домашней страницей, работник сервиса не отвечает.Например, когда обновление /page1
в то время как автономный режим не работает, но обновление /
работает.
Как настроить рабочий ящик для использования стратегии выполнения, которая использует /index.html
в качестве запасного варианта для запросов HTML?
Примечание
Делать что-то вроде этого:
new WorkboxPlugin.InjectManifest({
swSrc: "./src/sw.js",
navigationFallback: "/index.html"
})
не работает, поскольку navigationFallback
не является допустимым параметром в его приведенном выше использовании.
{ message: '"navigationFallback" is not a supported parameter.'