使用Service Worker预缓存静态文件

塔欣·拉曼(Tahin Rahman)

我正在尝试使用Service Worker预缓存一些静态应用程序外壳文件。我不能使用“ sw-appcache”,因为我没有使用任何构建系统。但是,我尝试使用“ sw-toolbox”,但无法将其用于预缓存。

这是我在服务工作者JS中所做的事情:

self.addEventListener('install', function(event) {
  event.waitUntil(
    caches.open('gdvs-static').then(function(cache) {
        var precache_urls = [
            '/',
            '/?webapp=true',
            '/css/gv.min.css',
            '/js/gv.min.js'
        ];

        return cache.addAll(precache_urls);
    });
  );
});

我也尝试过这个:

importScripts('/path/to/sw-toolbox.js');

self.addEventListener('install', function(event) {
   var precache_urls = [
      '/',
      '/?webapp=true',
      '/css/gv.min.css',
      '/js/gv.min.js'
   ];

   toolbox.precache(precache_urls);
});

这是我的应用程序的URL:https : //guidedverses-webapp-staging.herokuapp.com/这是我的服务工作者文件的URL:https : //guidedverses-webapp-staging.herokuapp.com/gdvs-sw。 js

我想念什么?

塔欣·拉曼(Tahin Rahman)

傻我 我忘记将提取处理程序添加到我的服务工作者中。我认为它的工作原理类似于appchache,并且在与缓存URL匹配时自动返回缓存的数据。我低估了服务人员的力量。以下代码对我有用。

this.addEventListener('fetch', function(event) {
  console.log(event.request.url);

  event.respondWith(
    caches.match(event.request).then(function(response) {
      return response || fetch(event.request);
    })
  );
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Polymer Service Worker 预缓存

来自分类Dev

更改预缓存URL的/ Service Worker范围

来自分类Dev

如何使用 Service Worker 缓存虚拟文件?

来自分类Dev

Service Worker更新,但旧文件仍被缓存

来自分类Dev

如何告诉Service Worker缓存哪些文件

来自分类Dev

在删除Workbox Service Worker中的其他缓存时保留预缓存

来自分类Dev

如何在Service Worker中缓存动态URL?它与预缓存有关系吗?我正在使用ReactJS默认serviceWorker

来自分类Dev

Service Worker 缓存太多

来自分类Dev

使用htaccess或php文件仅缓存静态文件

来自分类Dev

如何使用$ cookies缓存破坏Angular翻译静态文件

来自分类Dev

使用OWIN静态文件时配置客户端缓存

来自分类Dev

使用Nginx作为反向代理时无法缓存静态文件

来自分类Dev

在Service Worker中预生成生成的资产

来自分类Dev

部署React应用程序时Service Worker不缓存文件

来自分类Dev

Service Worker和透明缓存更新

来自分类Dev

不支持 Service Worker 的缓存破坏

来自分类Dev

是否使用Service Worker来动态缓存HTTP URL的包装器?

来自分类Dev

如何在使用Service Worker时缓存Google Maps之类的API

来自分类Dev

如果响应为404,如何使用Service Worker缓存跨域资源?

来自分类Dev

Gatsbyjs,如何使构建cmd使用缓存的先前生成的静态文件?

来自分类Dev

在大量缓存的站点上使用查询字符串版本标识符的Service Worker的最佳方法

来自分类Dev

无法播放来自Service Worker的缓存的音频

来自分类Dev

Service Worker在首次加载时未缓存API内容

来自分类Dev

Angular Service Worker和index.html缓存

来自分类Dev

首次加载后,Service Worker缓存会中断PDF

来自分类Dev

Service Worker在首次加载时未缓存API内容

来自分类Dev

Service Worker:检查缓存的资源是最新的还是最新的

来自分类Dev

Service Worker 可以访问浏览器缓存吗?

来自分类Dev

NGINX缓存静态文件

Related 相关文章

  1. 1

    Polymer Service Worker 预缓存

  2. 2

    更改预缓存URL的/ Service Worker范围

  3. 3

    如何使用 Service Worker 缓存虚拟文件?

  4. 4

    Service Worker更新,但旧文件仍被缓存

  5. 5

    如何告诉Service Worker缓存哪些文件

  6. 6

    在删除Workbox Service Worker中的其他缓存时保留预缓存

  7. 7

    如何在Service Worker中缓存动态URL?它与预缓存有关系吗?我正在使用ReactJS默认serviceWorker

  8. 8

    Service Worker 缓存太多

  9. 9

    使用htaccess或php文件仅缓存静态文件

  10. 10

    如何使用$ cookies缓存破坏Angular翻译静态文件

  11. 11

    使用OWIN静态文件时配置客户端缓存

  12. 12

    使用Nginx作为反向代理时无法缓存静态文件

  13. 13

    在Service Worker中预生成生成的资产

  14. 14

    部署React应用程序时Service Worker不缓存文件

  15. 15

    Service Worker和透明缓存更新

  16. 16

    不支持 Service Worker 的缓存破坏

  17. 17

    是否使用Service Worker来动态缓存HTTP URL的包装器?

  18. 18

    如何在使用Service Worker时缓存Google Maps之类的API

  19. 19

    如果响应为404,如何使用Service Worker缓存跨域资源?

  20. 20

    Gatsbyjs,如何使构建cmd使用缓存的先前生成的静态文件?

  21. 21

    在大量缓存的站点上使用查询字符串版本标识符的Service Worker的最佳方法

  22. 22

    无法播放来自Service Worker的缓存的音频

  23. 23

    Service Worker在首次加载时未缓存API内容

  24. 24

    Angular Service Worker和index.html缓存

  25. 25

    首次加载后,Service Worker缓存会中断PDF

  26. 26

    Service Worker在首次加载时未缓存API内容

  27. 27

    Service Worker:检查缓存的资源是最新的还是最新的

  28. 28

    Service Worker 可以访问浏览器缓存吗?

  29. 29

    NGINX缓存静态文件

热门标签

归档