Как настроить платину-sw-cache Polymer или платину-sw-fetch для кэширования всех URL-адресов, за исключением/_api, который является URL-адресом API Hoodie? Я настроил платиновый-SW-выборку элемент для обработки/_api пути, то платина-SW-кэш для обработки остальных путей, следующим образом:Как настроить платину-sw- * Polymer для НЕ кэширования одного URL-адреса?
<platinum-sw-register auto-register
clients-claim
skip-waiting
on-service-worker-installed="displayInstalledToast">
<platinum-sw-import-script href="custom-fetch-handler.js"></platinum-sw-import-script>
<platinum-sw-fetch handler="HoodieAPIFetchHandler"
path="/_api(.*)"></platinum-sw-fetch>
<platinum-sw-cache default-cache-strategy="networkFirst"
precache-file="precache.json"/>
</platinum-sw-cache>
</platinum-sw-register>
заказ выборка-handler.js содержит следующие. Его цель состоит в том, чтобы просто вернуть результаты запроса так, как если бы браузер не обработал запрос.
var HoodieAPIFetchHandler = function(request, values, options){
return fetch(request);
}
не кажется, что будет правильно работать, что после того, как пользователь 1 подписал в, затем выписался, то пользователь 2 знака в, а затем на вкладке Network Chrome Dev Tools' Я могу видеть, что Hoodie регулярно продолжается чтобы сделать запросы конечных точек API ОБА пользователей, как следующее:
http://localhost:3000/_api/?hoodieId=uw9rl3p
http://localhost:3000/_api/?hoodieId=noaothq
Вместо этого он должен делать запросы только один из этих API конечных точек. На вкладке «Сеть» каждый из этих URL появляется дважды в строке, а в столбце «Размер» первый запрос говорит «(из ServiceWorker)», а второй запрос указывает размер ответа в байтах, если это имеет значение.
Другая проблема, которая кажется связанной, заключается в том, что при входе в систему как пользователь 2 и отправке формы приложение записывается в базу данных пользователя 1 на стороне сервера. Это заставляет меня думать, что проблема связана с тем, что приложение не может обойти кеш для маршрута/_api.
Должен ли я использовать как платиновый sw-cache, так и платиновую sw-fetch в одном элементе платинового sw-register, поскольку состояние документов является альтернативой друг другу?
Только что-то подобное работает. Это помогло. Благодарю. – jptknta