javascript - Service Worker 不会缓存 golang 服务器在“/”上提供的 index.html
问题描述
我正在和一个试图缓存我的 index.html 的服务人员一起玩。我正在通过
http.HandleFunc("/sw", handle.SW)
http.HandleFunc("/", handle.Index)
我的服务工作者缓存看起来像这样
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 毫秒。
现在使用服务工作者merged.css,merged.js 和favicon.ico 被缓存,但我的索引有两个条目。一个来自服务人员,一个大小为 4.5 KB,时间为 48 毫秒。
所以我猜 index.html 没有被缓存,我不知道该怎么做。
解决方案
从您上传的屏幕截图中可以看出,获取 index.html 的请求是由名为 sw.js 的脚本发起的,确切的代码放在第二行。如果这确实是您代码中的 service-worker,请仔细检查并找出发出此请求的原因。
推荐阅读
- typescript - 如何在 Preact X 和 Typescript 中使用 styled-components?
- c# - 在其他应用 IIS 中部署应用时出现应用服务器错误。X 型存在于 A 和 B 中
- python - 如何替换不同文件中动态的一段文本?
- postgresql - 多列上的 trigram 索引是否会使搜索更快以及如何正确进行此类搜索?
- javascript - 返回 Promise 的有条件的 Promise
- r - 从数据框中提取名称作为R中的单独数据
- javascript - javascript数组中的多个小值
- javascript - 无法注册网络工作者
- typescript - 扩展 tsconfig.json 文件似乎没有扩展任何东西
- android - 用rxjava一一迭代列表android房间