服务工作者 - 缓存静态网站

时间:2018-01-15 20:35:43

标签: javascript caching service-worker

我想知道这是否是静态网站缓存资源(CSS或字体)的好方法。

self.addEventListener("fetch",(e)=>{
    let requestUrl = e.request.url;
    e.respondWith(
        caches.match(e.request).then((res)=>{
            return res || fetch(e.request).then((netres)=>{
                return caches.open(cacheStore).then((cache)=>{
                    cache.put(requestUrl,netres.clone());
                    return netres;
                });
            });
        })
    );
});

网站上的所有内容都是静态的,只是一些外部链接以及一些用于设计网站样式的功能,框架和字体。 它首先在缓存中搜索响应,如果没有找到任何匹配,它会获取请求并将其存储在缓存中以供下次使用。

在安装事件上手动添加链接是否更好? 这种方法有安全问题吗?

1 个答案:

答案 0 :(得分:0)

您可以了解Google如何对资产进行简单的预取。这是服务工作文件的link