docs(service-worker): describe safety-worker.js in SW guide (#21921)
PR Close #21921
This commit is contained in:
parent
7a20691f13
commit
db3e65fb17
|
@ -290,20 +290,42 @@ out of date. Right click the Cache Storage title and refresh the caches.
|
||||||
Stopping and starting the service worker in the Service Worker
|
Stopping and starting the service worker in the Service Worker
|
||||||
pane triggers a check for updates.
|
pane triggers a check for updates.
|
||||||
|
|
||||||
## Fail-safe
|
## Service Worker Safety
|
||||||
|
|
||||||
Like any complex system, bugs or broken configurations can cause
|
Like any complex system, bugs or broken configurations can cause
|
||||||
the Angular service worker to act in unforeseen ways. While its
|
the Angular service worker to act in unforeseen ways. While its
|
||||||
design attempts to minimize the impact of such problems, the
|
design attempts to minimize the impact of such problems, the
|
||||||
Angular service worker contains a failsafe mechanism in case
|
Angular service worker contains several failsafe mechanisms in case
|
||||||
an administrator ever needs to deactivate the service worker quickly.
|
an administrator ever needs to deactivate the service worker quickly.
|
||||||
|
|
||||||
|
## Fail-safe
|
||||||
|
|
||||||
To deactivate the service worker, remove or rename the
|
To deactivate the service worker, remove or rename the
|
||||||
`ngsw-config.json` file. When the service worker's request
|
`ngsw-config.json` file. When the service worker's request
|
||||||
for `ngsw.json` returns a `404`, then the service worker
|
for `ngsw.json` returns a `404`, then the service worker
|
||||||
removes all of its caches and de-registers itself,
|
removes all of its caches and de-registers itself,
|
||||||
essentially self-destructing.
|
essentially self-destructing.
|
||||||
|
|
||||||
|
### Safety Worker
|
||||||
|
|
||||||
|
Also included in the `@angular/service-worker` NPM package is a small
|
||||||
|
script `safety-worker.js`, which when loaded will unregister itself
|
||||||
|
from the browser. This script can be used as a last resort to get rid
|
||||||
|
of unwanted service workers already installed on client pages.
|
||||||
|
|
||||||
|
It's important to note that you cannot register this worker directly,
|
||||||
|
as old clients with cached state may not see a new `index.html` which
|
||||||
|
installs the different worker script. Instead, you must serve the
|
||||||
|
contents of `safety-worker.js` at the URL of the Service Worker script
|
||||||
|
you are trying to unregister, and must continue to do so until you are
|
||||||
|
certain all users have successfully unregistered the old worker. For
|
||||||
|
most sites, this means that you should serve the safety worker at the
|
||||||
|
old Service Worker URL forever.
|
||||||
|
|
||||||
|
This script can be used both to deactivate `@angular/service-worker`
|
||||||
|
as well as any other Service Workers which might have been served in
|
||||||
|
the past on your site.
|
||||||
|
|
||||||
## More on Angular service workers
|
## More on Angular service workers
|
||||||
|
|
||||||
You may also be interested in the following:
|
You may also be interested in the following:
|
||||||
|
|
Loading…
Reference in New Issue