Service Worker 在没有我要求的情况下缓存资源

Service Worker is caching resources without me asking it to

我正在注册一个服务工作者,它基本上订阅 fetch 事件,returns 我的资源的缓存版本(如果存在)。查看我的网络选项卡,似乎资源正在从 Service Worker 返回,即使我已经缓存了零个文件。

这正常吗?

(显然计划是缓存文件,我只是尝试逐步构建它)


我正在这样注册我的 service worker

if ('serviceWorker' in navigator) {
    navigator.serviceWorker.register('swRoot.js').then(() => {
        console.log('registered');
    }, err => console.log(err));
}

整个swRoot.js就是这个

self.addEventListener('install', function(event) {
    console.log('hello');
});

console.log('ADDING FETCH at root level');
self.addEventListener('fetch', function(event) {
    console.log('fetching ->', event.request);
    event.respondWith(
        caches.match(event.request)
            .then(function(response) {
                // Cache hit - return response
                if (response) {
                    return response;
                }
                return fetch(event.request);
            })
    );
});

不,不代表结果来自缓存。它仅显示响应来自 service worker。现在,如果结果来自 service worker,它可能来自缓存或来自 fetch 事件。在你的情况下,它显然是即将到来的获取事件。