Reputation: 3012
it seems that angular6 does not support background syncing with service worker. What are the steps required to do this without any library in an angular service?
https://developers.google.com/web/updates/2015/12/background-sync
How and where can I access WorkerGlobalScope in an angular6 application directly so that background sync can be done.:
self.addEventListener('sync', function(event) {
if (event.tag == 'myFirstSync') {
event.waitUntil(doSomeStuff());
}
});
The problem is that the angular CLI generates the servicworker file (ngsw-worker.js). Is there a way to inject / modify / extend this file? Yes, i can edit the file ngsw-worker.js by hand or with another fancy trick. Is there an official way to do this?
Upvotes: 12
Views: 4103
Reputation: 609
Yes you can use your custom script to extend the capabilities of Angular's service worker.
Just follow below steps:
sw-custom.js
under src directory of your project.importScripts('./ngsw-worker.js')
" at top of sw-custom.js
file.sw-custom.js
file to angular.json
file under scripts section.sw-custom.js
file in app module instead ofngsw-worker.js
That's it now you can write your script here as per your need.
Maybe it is not correct approach but it works.
Here is the blog for same.
Upvotes: 8