工作箱缓存策略无法正常工作

时间:2019-07-16 03:06:26

标签: javascript reactjs service-worker create-react-app web-worker

我正在使用create-react-app和react-app-rewired-workbox构建一个可与Workbox配合使用的React应用。

我想使用workbox的networkOnly策略,但是以某种方式不起作用。即使我使网络脱机,服务人员也会使用缓存进行响应

我也尝试了其他策略,但工作箱仅使用其默认行为并首先对缓存进行响应。

self.addEventListener('install', event => event.waitUntil(self.skipWaiting()));
self.addEventListener('activate', event => event.waitUntil(self.clients.claim()));

workbox.precaching.precacheAndRoute(self.__precacheManifest);

workbox.routing.registerRoute("/", new workbox.strategies.NetworkOnly());

这是它的行为方式 预缓存所有路线 precached all the routes

网络离线 network is offline

预缓存正在离线响应 precaching is responding in offline

服务人员正在处理请求 service worker is handling the request

我期望的是,当我使用networkOnly策略时,它不应以缓存响应。在响应任何请求时,Workbox也不记录其正在使用的策略。

1 个答案:

答案 0 :(得分:0)

根据precache选项,您需要删除此行,因为路由会响应Manifest预缓存。

string query = "SELECT Depart FROM Flights where Airlines_id=" + YourCityDropDownId.SelectedValue;