Spec-Zone.ru › Angular

SwRegistrationOptions

Токен, который можно использовать для предоставления параметров ServiceWorkerModule вне ServiceWorkerModule.register().

Конфигурация service worker

API

abstract class SwRegistrationOptions {
  enabled?: boolean | undefined;
  updateViaCache?: ServiceWorkerUpdateViaCache | undefined;
  type?: WorkerType | undefined;
  scope?: string | undefined;
  registrationStrategy?: string | (() => Observable<unknown>) | undefined;
}

enabled

boolean | undefined

Будет ли зарегистрирован ServiceWorker и будут ли связанные с ним службы (например, SwPush и SwUpdate) пытаться взаимодействовать с ним.

По умолчанию: true

updateViaCache

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 | undefined

URL, определяющий область регистрации 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API