javascript - Service Worker 不会缓存 golang 服务器在 '/' 上提供的 index.html

标签 javascript go service worker

我正在和一个试图缓存我的 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 毫秒。

enter image description here

现在使用服务 worker merged.css,merged.js 和favicon.ico 被缓存,但我的索引有两个条目。一个来自服务人员,一个大小为 4.5 KB,时间为 48 毫秒。

enter image description here

所以我猜 index.html 没有被缓存,我不知道该怎么做。

最佳答案

从您上传的屏幕截图中可以看出,获取 index.html 的请求是由名为 sw.js 的脚本发起的,确切的代码放在第二行。如果这确实是您代码中的 service-worker,请仔细检查并找出发出此请求的原因。

关于javascript - Service Worker 不会缓存 golang 服务器在 '/' 上提供的 index.html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59047507/

相关文章:

exception-handling - 在 Golang 中捕捉 panic

json - 如何通过 json 将键值对数组传递给结构的 golang slice

java - 检查正在运行的 JAR Linux 服务的版本

Android:完全在后台上传文件

android - 如何在 android 上进行集成测试(或者如何在 TestCase 中获取和注入(inject)多个组件)

javascript - 将数组元素分配为对象属性,值为 'counter'

javascript - 电子邮件验证 nodemailer 适用于本地主机但不适用于服务器

javascript - onchange 不适用于下拉菜单?

javascript - JavaScript 中的“内联”?

go - 我是否总是必须在出错时返回一个值