SwRegistrationOptions
Токен, который можно использовать для предоставления параметров ServiceWorkerModule вне ServiceWorkerModule.register().
API
abstract class SwRegistrationOptions {
enabled?: boolean | undefined;
updateViaCache?: ServiceWorkerUpdateViaCache | undefined;
type?: WorkerType | undefined;
scope?: string | undefined;
registrationStrategy?: string | (() => Observable<unknown>) | undefined;
}
enabled
boolean | undefinedupdateViaCache
ServiceWorkerUpdateViaCache | undefinedЗначение параметра, определяющего, при каких обстоятельствах браузер будет обращаться к HTTP-кэшу при попытке обновить service worker или любые скрипты, импортированные с помощью importScripts(). ServiceWorkerRegistration.updateViaCache
type
WorkerType | undefinedТип скрипта ServiceWorker для регистрации. ServiceWorkerRegistration#type
-
classic: регистрирует скрипт как классический воркер. В скрипте НЕ допускаются возможности ES-модулей, такие какimportиexport. -
module: регистрирует скрипт как ES-модуль. Позволяет использовать синтаксисimport/exportи возможности модулей.
@default 'classic'
scope
string | undefinedURL, определяющий область регистрации ServiceWorker, то есть диапазон URL, которыми он может управлять. Этот URL будет использоваться при вызове ServiceWorkerContainer#register().
registrationStrategy
string | (() => Observable<unknown>) | undefinedОпределяет стратегию регистрации ServiceWorker, то есть момент его регистрации в браузере.
Поведение по умолчанию — регистрация после стабилизации приложения (то есть как только не останется ожидающих микрозадач и макрозадач) — позволяет зарегистрировать ServiceWorker как можно скорее, не влияя при этом на первую загрузку приложения.
Однако в некоторых случаях может потребоваться более точно контролировать момент регистрации ServiceWorker (например, длительное ожидание или интервал опроса могут помешать стабилизации приложения). Доступны следующие варианты:
-
registerWhenStable:<timeout>: зарегистрировать после стабилизации приложения (когда нет ожидающих микрозадач и макрозадач), но не позднее чем через<timeout>миллисекунд. Если приложение не стабилизировалось по истечении<timeout>миллисекунд (например, из-за повторяющейся асинхронной задачи), ServiceWorker всё равно будет зарегистрирован. Если<timeout>не задан, ServiceWorker будет зарегистрирован только после стабилизации приложения. -
registerImmediately: зарегистрировать немедленно. -
registerWithDelay:<timeout>: зарегистрировать с задержкой в<timeout>миллисекунд. Например, используйтеregisterWithDelay:5000, чтобы зарегистрировать ServiceWorker через 5 секунд. Если<timeout>не задан, по умолчанию используется0: ServiceWorker будет зарегистрирован как можно скорее, но асинхронно, после выполнения всех ожидающих микрозадач. - Фабричная функция Observable: функция, возвращающая
Observable. Во время выполнения функция будет использоваться для получения и подписки наObservable, а ServiceWorker будет зарегистрирован при выдаче первого значения.
По умолчанию: 'registerWhenStable:30000'
Описание
Токен, который можно использовать для предоставления параметров ServiceWorkerModule вне ServiceWorkerModule.register().
С помощью этого токена можно определить провайдер, который формирует параметры регистрации во время выполнения, например, вызывая функцию:
{@example service-worker/registration-options/module.ts region="registration-options" header="app.module.ts"}
Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/service-worker/SwRegistrationOptions