#workbox #workbox-webpack-plugin #next-pwa
#workbox #workbox-webpack-plugin #next-pwa
Вопрос:
Я планирую использовать next-pwa в сочетании с плагином фоновой синхронизации workbox, чтобы повторить автономные запросы POST / PUT / DELETE, когда клиент подключен к Сети.
Я настроил запись runtimeCaching:
{
urlPattern: //api/.*$/i,
handler: 'NetworkFirst',
method: 'GET',
options: {
cacheName: 'apis-READ',
expiration: {
maxEntries: 16,
maxAgeSeconds: 30 * 24 * 60 * 60 // 30 days
},
networkTimeoutSeconds: 10 // fall back to cache if api does not response within 10 seconds
}
},
{
urlPattern: //api/.*$/i,
handler: 'NetworkOnly',
method: 'POST',
options: {
backgroundSync: {
name: 'harvest-background-sync'
}
}
},
Похоже, что он кэширует запросы GET, но ничего не делает с запросами POST.
Комментарии:
1. Что, если вы удалите параметр cacheName? Вы не кэшируете его, вы ставите его в очередь. Он должен появиться на вкладке приложения Chrome devtools / фоновая синхронизация
2. Я пробовал это, но все равно безуспешно. Знаете ли вы какие-либо руководства о том, как заставить next-pwa работать с фоновой синхронизацией?
Ответ №1:
Ошибка пользователя. У меня был некоторый код в приложении, который проверял navigator.online и пропускал запросы, если клиент отключен. Отлично работает с приведенной выше конфигурацией после ее удаления.