Я использую NUXT-PWA
для кэширования своих данных, но у меня есть страница, которая зависит от POST
запроса на сборку, и мне нужно кэшировать ответ, который JSON
, но я получаю ошибку ниже:
Uncaught (in promise) attempt-to-cache-non-get-request: Unable to cache '/api/hotel/order/get-voucher' because it is a 'POST' request and only 'GET' requests can be cached.
код, который я использую в моем workbox-range-request.js
, таков:
workbox.routing.registerRoute(
new RegExp('/api/(.*)'),
new workbox.strategies.CacheFirst({
cacheName: 'apiCache',
plugins: [
new workbox.expiration.Plugin({
maxEntries: 100,
maxAgeSeconds: 7 * 24 * 60 * 60, // 7 Days
}),
],
}),
'POST'
);
и мой nuxt.config.js
:
workbox: {
dev:true,
cachingExtensions: '@/plugins/workbox-range-request.js',
runtimeCaching: [
{
urlPattern: 'https://www.google-analytics.com/.*',
handler: 'StaleWhileRevalidate',
method: 'GET',
strategyOptions: { cacheableResponse: { statuses: [0, 200] } }
}
]
},
в документе говорится, что он поддерживает POST
, но в консоли я получил ошибку, а в моем cacheStore
я не получил никаких данных.