相关疑难解决方法(0)

Angular6服务工作者和后台同步

似乎angular6不支持与服务工作者进行后台同步.在角度服务中没有任何库的情况下执行此操作需要执行哪些步骤?

https://developers.google.com/web/updates/2015/12/background-sync

如何以及在何处直接在angular6应用程序中访问WorkerGlobalScope,以便可以完成后台同步:

self.addEventListener('sync', function(event) {
  if (event.tag == 'myFirstSync') {
    event.waitUntil(doSomeStuff());
  }
});
Run Code Online (Sandbox Code Playgroud)

问题是角度CLI生成servicworker文件(ngsw-worker.js).有没有办法注入/修改 /扩展这个文件?是的,我可以手动编辑文件ngsw-worker.js或使用其他花哨技巧.有正式的方法吗?

angular-service-worker angular6

8
推荐指数
1
解决办法
2060
查看次数

Angular:将 TypeScript 用于 Service Worker (ServiceWorkerModule)

是否可以注册一个用 TypeScript 编写的 ServiceWorker @angular/service-worker

当前在app.module.ts 中注册 service worker 如下所示

ServiceWorkerModule.register('ngsw-worker.js', {
  enabled: environment.production
})
Run Code Online (Sandbox Code Playgroud)

是否有可能以某种方式注册一个ngsw-worker.ts

至少这对于 Angular 中的网络工作者来说是可能的:

const worker = new Worker('../my-worker.worker', {
      type: 'module'
    });
Run Code Online (Sandbox Code Playgroud)

我的worker.worker.ts

/// <reference lib="webworker" />

import {someMethod} from './some-method';

addEventListener('message', ({ data }) => {
  const response = `worker response to ${data}`;
  postMessage(response);
  someMethod();
});
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏 - 谢谢

typescript service-worker angular angular-service-worker

2
推荐指数
2
解决办法
2073
查看次数