首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Angular中的手动Service Worker

Angular中的手动Service Worker
EN

Stack Overflow用户
提问于 2019-05-10 01:56:20
回答 1查看 216关注 0票数 -2

是否可以在Angular中添加手动创建的Service Worker,而不是配置JSON?

我想实现我自己的自定义代码

EN

回答 1

Stack Overflow用户

发布于 2019-05-10 12:22:42

您可以像这样创建sw.js文件

代码语言:javascript
复制
var cacheName = "your cache name";

self.addEventListener("install", event => {
  event.waitUntil(
    caches
    .open(cacheName)
    .then(cache =>
      cache.addAll([

      ])
    ).then(() => self.skipWaiting())
  );
});

//Removing outdated caches
self.addEventListener("activate", function (event) {
  event.waitUntil(
    caches.keys().then(function (cacheNames) {
      return Promise.all(
        cacheNames
        .filter(function (cacheName) {
          return true;
        })
        .map(function (cacheName) {
          return caches.delete(cacheName);
        })
      );
    }).then(() => self.clients.claim())
  );
});

// Cache any new resources as they are fetched
self.addEventListener("fetch", function (event) {

});

然后在你的app.component.ts中放入这些代码

代码语言:javascript
复制
 public ngOnInit() {
     if ("serviceWorker" in navigator) {
      navigator.serviceWorker
        .register("./sw.js")
        .then(registration => {
          // Registration was successful
          console.log(
            "ServiceWorker registration successful with scope: ",
            registration.scope
          );
        })
        .catch(err => {
          // registration failed :(
          console.log("ServiceWorker registration failed: ", err);
        });
    }

如果你有任何问题,请告诉我

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56065065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档