Я использую веб-сервер на localhost для разработки. Имя домена на локальном сервере - «mydomain», а имя домена на производственном сервере publi c на isp - «mydomain. com ». В прошлом это работало нормально, но сервисные работники «fetch», похоже, отправляются в домен publi c «.com». Это очень смутило меня, пока я не понял это. Я вносил изменения в локальные файлы кода, и иногда эти изменения появлялись, но затем возвращались к тому, что я делал вчера (ранее загруженный на рабочий веб-сервер). Я наконец понял это и отключил доступ к сети на моем устройстве dev * P C, чтобы выборки могли происходить только локально. И затем странность ушла.
Как я могу квалифицировать кэширование так, чтобы кеш / выборка / совпадение не go выходило на рабочий сервер, когда я работаю на сервере dev?
Моя выборка очень проста. Сначала он пробует сеть и только в случае неудачи пытается найти совпадение в кэше.
self.addEventListener('fetch', function(event) {
event.respondWith(
fetch(event.request)
.catch(function(error) {
return caches.match(event.request, { ignoreSearch: true }); // ignoreSearch=true allows us to add query vars to the url without invalidating the cache for that file
})
);
});