我正在和一个试图缓存我的 index.html 的服务人员一起玩。我正在通过
http.HandleFunc("/sw", handle.SW)
http.HandleFunc("/", handle.Index)
我的服务 worker 缓存看起来像这样
self.addEventListener('install', (event) => {
self.skipWaiting();
event.waitUntil(async function () {
const cache = await caches.open(CACHE_VERSION);
await cache.addAll([
'/',
'/static/merged.css',
'/static/merged.js',
'/favicon.ico'
]);
}());
});
如果没有 service worker,开发者工具中的我的网络选项卡显示 index.html 的大小为 4.5 KB,时间为 46 毫秒。
现在使用服务 worker merged.css,merged.js 和favicon.ico 被缓存,但我的索引有两个条目。一个来自服务人员,一个大小为 4.5 KB,时间为 48 毫秒。
所以我猜 index.html 没有被缓存,我不知道该怎么做。
最佳答案
从您上传的屏幕截图中可以看出,获取 index.html 的请求是由名为 sw.js 的脚本发起的,确切的代码放在第二行。如果这确实是您代码中的 service-worker,请仔细检查并找出发出此请求的原因。
关于javascript - Service Worker 不会缓存 golang 服务器在 '/' 上提供的 index.html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59047507/