tworzenie skrzynki roboczej

Moduł workbox-build integruje się z procesem kompilacji opartym na węzłach i może wygenerować cały skrypt service worker lub po prostu listę zasobów do wstępnego buforowania, które można wykorzystać w istniejącym mechanizmie Service Worker.

Większość deweloperów używa 2 trybów generateSW i injectManifest. Odpowiedzi na poniższe pytania pomogą Ci wybrać odpowiedni tryb i konfigurację.

Który tryb wybrać

generateSW

Tryb generateSW tworzy dla Ciebie plik skryptu service worker dostosowany za pomocą opcji konfiguracji i zapisuje go na dysku.

Kiedy używać generateSW

  • Chcesz buforować pliki.
  • Nie ma potrzeby tworzenia pamięci podręcznej środowiska wykonawczego.

Kiedy NIE używać generateSW

  • Chcesz użyć innych funkcji skryptu Service Worker (np. Web Push).
  • Chcesz zaimportować dodatkowe skrypty lub dodać dodatkowe funkcje logiczne niestandardowych strategii buforowania.

injectManifest

Tryb injectManifest wygeneruje listę adresów URL do wstępnego buforowania i dodaje plik manifestu precache do istniejącego pliku skryptu service worker. W przeciwnym razie plik pozostanie bez zmian.

Kiedy używać injectManifest

  • Chcesz mieć większą kontrolę nad skryptem service worker.
  • Chcesz buforować pliki.
  • Musisz dostosować trasy i strategie.
  • Chcesz używać skryptu service worker z innymi funkcjami platformy (np. Web Push).

Kiedy NIE używać injectManifest

  • Chcesz dodać skrypt service worker do swojej witryny?

Tryb generateSW

Trybu generateSW możesz używać w skrypcie kompilacji opartym na węzłach, korzystając z najpopularniejszych opcji konfiguracji, na przykład:

// Inside of build.js:
const {generateSW} = require('workbox-build');

// These are some common options, and not all are required.
// Consult the docs for more info.
generateSW({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
  navigateFallback: '...',
  runtimeCaching: [{
    // Routing via a matchCallback function:
    urlPattern: ({request, url}) => ...,
    handler: '...',
    options: {
      cacheName: '...',
      expiration: {
        maxEntries: ...,
      },
    },
  }, {
    // Routing via a RegExp:
    urlPattern: new RegExp('...'),
    handler: '...',
    options: {
      cacheName: '...',
      plugins: [..., ...],
    },
  }],
  skipWaiting: ...,
  swDest: '...',
}).then(({count, size, warnings}) => {
  if (warnings.length > 0) {
    console.warn(
      'Warnings encountered while generating a service worker:',
      warnings.join('\n')
    );
  }

  console.log(`Generated a service worker, which will precache ${count} files, totaling ${size} bytes.`);
});

Spowoduje to wygenerowanie skryptu service worker z konfiguracją wstępnego buforowania dla wszystkich plików pobranych przez konfigurację oraz podanych reguł buforowania w czasie działania.

Pełny zestaw opcji konfiguracyjnych można znaleźć w dokumentacji referencyjnej.

Tryb injectManifest

Trybu injectManifest możesz używać w skrypcie kompilacji opartym na węzłach, korzystając z najpopularniejszych opcji konfiguracji, na przykład:

// Inside of build.js:
const {injectManifest} = require('workbox-build');

// These are some common options, and not all are required.
// Consult the docs for more info.
injectManifest({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
  swDest: '...',
  swSrc: '...',
}).then(({count, size, warnings}) => {
  if (warnings.length > 0) {
    console.warn(
      'Warnings encountered while injecting the manifest:',
      warnings.join('\n')
    );
  }

  console.log(`Injected a manifest which will precache ${count} files, totaling ${size} bytes.`);
});

Spowoduje to utworzenie pliku manifestu precache na podstawie plików zebranych przez konfigurację i wstrzyknięcie go do istniejącego pliku skryptu service worker.

Pełny zestaw opcji konfiguracyjnych można znaleźć w dokumentacji referencyjnej.

Dodatkowe tryby

Oczekujemy, że aplikacje generateSW lub injectManifest spełnią wymagania większości deweloperów. workbox-build obsługuje jednak jeszcze jeden tryb, który może się sprawdzić w określonych przypadkach.

Tryb getManifest

Ten sposób działania jest podobny do trybu injectManifest, ale zamiast dodania pliku manifestu do źródłowego pliku skryptu service worker zwraca tablicę wpisów w pliku manifestu wraz z informacjami o liczbie wpisów i całkowitym rozmiarze.

Trybu injectManifest możesz używać w skrypcie kompilacji opartym na węzłach, korzystając z najpopularniejszych opcji konfiguracji, na przykład:

// Inside of build.js:
const {getManifest} = require('workbox-build');

// These are some common options, and not all are required.
// Consult the docs for more info.
getManifest({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
}).then(({manifestEntries, count, size, warnings}) => {
  if (warnings.length > 0) {
    console.warn(
      'Warnings encountered while getting the manifest:',
      warnings.join('\n')
    );
  }

  // Do something with the manifestEntries, and potentially log count and size.
});

Pełny zestaw opcji konfiguracyjnych można znaleźć w dokumentacji referencyjnej.

Typy

BasePartial

Właściwości

  • additionalManifestEntries

    (ciąg znaków | ManifestEntry)[] opcjonalnie

    Lista wpisów do wczytania w pamięci podręcznej, wraz z wpisami generowanymi w ramach konfiguracji kompilacji.

  • dontCacheBustURLsMatching

    Wyrażenie regularne opcjonalne

    Przyjmujemy, że zasoby pasujące do tych wartości mają unikalne wersje przypisane do ich adresu URL i są wykluczone z typowego pomijania pamięci podręcznej HTTP podczas wypełniania pamięci podręcznej. Chociaż nie jest to wymagane, zalecamy, aby jeśli obecny proces kompilacji już wstawiał wartość [hash] do każdej nazwy pliku, musisz podać wyrażenie regularne, które to wykryje, ponieważ zmniejszy to przepustowość wykorzystywaną podczas wstępnego buforowania.

  • manifestTransforms

    ManifestTransform[] opcjonalny

    Co najmniej 1 funkcja, która zostanie zastosowana sekwencyjnie do wygenerowanego pliku manifestu. Jeśli podano też wartości modifyURLPrefix lub dontCacheBustURLsMatching, najpierw zostaną zastosowane odpowiadające im przekształcenia.

  • maximumFileSizeToCacheInBytes

    Liczba opcjonalnie

    Wartość domyślna to 2097152.

    Na podstawie tej wartości można określić maksymalny rozmiar plików, które będą wstępnie przechowywane w pamięci podręcznej. Zapobiega to przypadkowemu wyświetlaniu bardzo dużych plików, które mogłyby przypadkowo pasować do jednego z Twoich wzorców.

  • modifyURLPrefix

    obiekt opcjonalnie

    Ciąg mapowania obiektu poprzedza prefiksy zastępczego ciągu znaków. Można go użyć do np. usunięcia lub dodania prefiksu ścieżki z wpisu w pliku manifestu, jeśli Twoja konfiguracja hostingu WWW nie jest zgodna z konfiguracją lokalnego systemu plików. Jako alternatywę o większej elastyczności możesz użyć opcji manifestTransforms i udostępnić funkcję, która modyfikuje wpisy w pliku manifestu za pomocą dowolnej podanej logiki.

    Przykład użycia:

    // Replace a '/dist/' prefix with '/', and also prepend
    // '/static' to every URL.
    modifyURLPrefix: {
      '/dist/': '/',
      '': '/static',
    }
    

BuildResult

Typ

Pomiń <GetManifestResult"manifestEntries"
> i obiekt

Właściwości

  • filePaths

    string[]

GeneratePartial

Właściwości

  • babelPresetEnvTargets

    string[] opcjonalny

    Wartość domyślna to: ["chrome >= 56"].

    Cele, które mają być przekazywane do babel-preset-env podczas transpilacji pakietu skryptu service worker.

  • cacheId

    ciąg znaków opcjonalny

    Opcjonalny identyfikator dołączany do nazw pamięci podręcznej. Jest to przydatne przede wszystkim w przypadku programowania lokalnego, w którym wiele witryn może być udostępnianych z tego samego źródła http://localhost:port.

  • cleanupOutdatedCaches

    wartość logiczna opcjonalna

    Wartość domyślna to false (fałsz).

    Określa, czy Workbox ma próbować identyfikować i usuwać pamięć podręczną utworzone przez starsze, niezgodne wersje.

  • clientsClaim

    wartość logiczna opcjonalna

    Wartość domyślna to false (fałsz).

    Określa, czy skrypt service worker powinien rozpocząć kontrolowanie istniejących klientów zaraz po aktywacji.

  • directoryIndex

    ciąg znaków opcjonalny

    Jeśli żądanie nawigacji dla adresu URL z końcówką / nie pasuje do wstępnie zapisanego adresu URL, ta wartość zostaje dodana do adresu URL i sprawdzana pod kątem zgodności z pamięci podręcznej. W tym polu powinien być ustawiony adres używany przez serwer WWW na potrzeby indeksu katalogu.

  • disableDevLogs

    wartość logiczna opcjonalna

    Wartość domyślna to false (fałsz).

  • ignoreURLParametersMatching

    RegExp[] opcjonalny

    Wszystkie nazwy parametrów wyszukiwania, które pasują do jednego z wyrażeń regularnych w tej tablicy, zostaną usunięte przed wyszukaniem dopasowania w pamięci podręcznej. Jest to przydatne, gdy użytkownicy mogą prosić o adresy URL zawierające na przykład parametry adresu URL służące do śledzenia źródła ruchu. Jeśli nie podasz żadnej wartości, domyślną wartością będzie [/^utm_/, /^fbclid$/].

  • importScripts

    string[] opcjonalny

    Lista plików JavaScript, które należy przekazać do importScripts() w wygenerowanym pliku skryptu service worker. Jest to przydatne, gdy chcesz pozwolić Workbox na utworzenie pliku skryptu service worker najwyższego poziomu, ale chcesz dołączyć dodatkowy kod, na przykład detektor zdarzeń push.

  • inlineWorkboxRuntime

    wartość logiczna opcjonalna

    Wartość domyślna to false (fałsz).

    Określa, czy kod środowiska wykonawczego dla biblioteki Workbox ma być zawarty w skryptach service worker najwyższego poziomu czy podzielony na oddzielny plik, który trzeba wdrożyć razem z tym mechanizmem. Oddzielenie środowiska wykonawczego oznacza, że użytkownicy nie będą musieli ponownie pobierać kodu Workbox za każdym razem, gdy zmieni się skrypt service worker najwyższego poziomu.

  • tryb

    ciąg znaków opcjonalny

    Wartość domyślna to "production".

    Jeśli ustawiona jest wartość „production”, zostanie utworzony zoptymalizowany pakiet skryptu service worker bez danych debugowania. Jeśli nie skonfigurujesz go tutaj, używana będzie wartość process.env.NODE_ENV, a w przeciwnym razie zostanie użyta wartość 'production'.

  • navigateFallback

    ciąg znaków opcjonalny

    Wartość domyślna to null.

    Jeśli określisz to ustawienie, wszystkie żądania nawigacji dla adresów URL, które nie są wstępnie zapisane w pamięci podręcznej, będą realizowane za pomocą kodu HTML podanego pod podanym adresem URL. Musisz przekazać adres URL dokumentu HTML wymienionego w pliku manifestu precache. Ta wskazówka ma być używana w scenariuszu aplikacji jednostronicowej, w którym wszystkie elementy nawigacyjne mają używać standardowego kodu HTML App Shell.

  • navigateFallbackAllowlist

    RegExp[] opcjonalny

    Opcjonalna tablica wyrażeń regularnych ograniczająca adresy URL, do których ma zastosowanie skonfigurowane działanie navigateFallback. Jest to przydatne, gdy tylko część adresów URL witryny powinna być traktowana jak część aplikacji jednostronicowej. Jeśli skonfigurowano zarówno navigateFallbackDenylist, jak i navigateFallbackAllowlist, pierwszeństwo ma lista odrzuconych.

    Uwaga: te wyrażenia regularne mogą być oceniane w odniesieniu do każdego docelowego adresu URL podczas nawigacji. Unikaj złożonych wyrażeń regularnych, ponieważ w przeciwnym razie użytkownicy mogą zauważyć opóźnienia w poruszaniu się po witrynie.

  • navigateFallbackDenylist

    RegExp[] opcjonalny

    Opcjonalna tablica wyrażeń regularnych ograniczająca adresy URL, do których ma zastosowanie skonfigurowane działanie navigateFallback. Jest to przydatne, gdy tylko podzbiór adresów URL witryny powinien być traktowany jako część aplikacji jednostronicowej. Jeśli skonfigurowano zarówno navigateFallbackDenylist, jak i navigateFallbackAllowlist, ma pierwszeństwo przed listą odrzuconych.

    Uwaga: te wyrażenia regularne mogą być oceniane w odniesieniu do każdego docelowego adresu URL podczas nawigacji. Unikaj złożonych wyrażeń regularnych, ponieważ w przeciwnym razie użytkownicy mogą zauważyć opóźnienia w poruszaniu się po witrynie.

  • navigationPreload

    wartość logiczna opcjonalna

    Wartość domyślna to false (fałsz).

    Określa, czy włączyć wstępne wczytywanie nawigacji w wygenerowanym mechanizmie Service Worker. Jeśli zasada ma wartość Prawda, musisz też używać runtimeCaching, aby skonfigurować odpowiednią strategię reagowania, która będzie dopasowywana do żądań nawigacji, i wykorzystać wstępnie wczytywaną odpowiedź.

  • offlineGoogleAnalytics

    boolean | GoogleAnalyticsInitializeOptions opcjonalnie

    Wartość domyślna to false (fałsz).

    Określa, czy chcesz obsługiwać Google Analytics offline. Gdy true, wywołanie metody initialize() serwera workbox-google-analytics zostanie dodane do wygenerowanego skryptu service worker. Gdy ustawisz wartość Object, obiekt będzie przekazywany do wywołania initialize(), co umożliwi Ci dostosowanie działania.

  • runtimeCaching

    RuntimeCaching[] opcjonalny

    Gdy używasz narzędzi do kompilacji Workbox do generowania skryptu service worker, możesz określić co najmniej 1 konfigurację buforowania środowiska wykonawczego. Są one następnie przekształcane w wywołania workbox-routing.registerRoute za pomocą zdefiniowanej przez Ciebie konfiguracji dopasowania i obsługi.

    Wszystkie opcje znajdziesz w dokumentacji workbox-build.RuntimeCaching. Przykład poniżej przedstawia typową konfigurację ze zdefiniowanymi 2 trasami środowiska wykonawczego:

  • skipWaiting

    wartość logiczna opcjonalna

    Wartość domyślna to false (fałsz).

    Określa, czy dodać bezwarunkowe wywołanie do skipWaiting() do wygenerowanego skryptu service worker. Jeśli ustawiona jest wartość false, zamiast tego zostanie dodany detektor message, który umożliwi stronom klienta wywoływanie skipWaiting() przez wywołanie postMessage({type: 'SKIP_WAITING'}) w oczekującym module service worker.

  • mapa źródeł

    wartość logiczna opcjonalna

    Wartość domyślna to true.

    Określa, czy utworzyć mapę źródeł dla wygenerowanych plików skryptu service worker.

GenerateSWOptions

GetManifestOptions

GetManifestResult

Właściwości

  • liczba

    Liczba

  • manifestEntries
  • rozmiar

    Liczba

  • ostrzeżenia

    string[]

GlobPartial

Właściwości

  • globFollow

    wartość logiczna opcjonalna

    Wartość domyślna to true.

    Określa, czy podczas generowania pliku manifestu precache stosowane są dowiązania symboliczne. Więcej informacji znajdziesz w definicji właściwości follow w dokumentacji glob.

  • globIgnores

    string[] opcjonalny

    Wartość domyślna to ["**\/node_modules\/**\/*"].

    Zbiór wzorców pasujących do plików, które mają być zawsze wykluczane podczas generowania pliku manifestu precache. Więcej informacji znajdziesz w definicji właściwości ignore w dokumentacji glob.

  • globPatterns

    string[] opcjonalny

    Wartość domyślna to ["**\/*.{js,wasm,css,html}"]

    Pliki pasujące do dowolnego z tych wzorców zostaną uwzględnione w pliku manifestu Precache. Więcej informacji znajdziesz w przewodniku po glob.

  • globStrict

    wartość logiczna opcjonalna

    Wartość domyślna to true.

    Jeśli ma wartość prawda, błąd odczytu katalogu podczas generowania pliku manifestu precached spowoduje niepowodzenie kompilacji. W przypadku wartości false (fałsz) katalog powodujący problemy zostanie pominięty. Więcej informacji znajdziesz w definicji pola strict w dokumentacji glob.

  • templatedURLs

    obiekt opcjonalnie

    Jeśli URL jest renderowany na podstawie logiki po stronie serwera, jego zawartość może być zależna od wielu plików lub od innej niepowtarzalnej wartości ciągu znaków. Klucze w tym obiekcie to URL-e renderowane przez serwer. Jeśli wartości mają postać tablicy ciągów znaków, będą interpretowane jako wzorce glob, a zawartość plików pasujących do wzorców zostanie użyta do utworzenia niepowtarzalnej wersji adresu URL. Jeśli użyjesz jej z pojedynczym ciągiem znaków, zostanie ona zinterpretowana jako unikalne informacje o obsłudze wersji wygenerowane dla danego adresu URL.

InjectManifestOptions

InjectPartial

Właściwości

  • injectionPoint

    ciąg znaków opcjonalny

    Wartość domyślna to "self.__WB_MANIFEST".

    Ciąg znaków do znalezienia w pliku swSrc. Po znalezieniu zostanie on zastąpiony przez wygenerowany plik manifestu Precache.

  • swSrc

    string,

    Ścieżka i nazwa pliku skryptu service worker, które będą odczytywane podczas procesu kompilacji, w odniesieniu do bieżącego katalogu roboczego.

ManifestEntry

Właściwości

  • integralność

    ciąg znaków opcjonalny

  • wersja

    string,

  • URL

    string,

ManifestTransform()

workbox-build.ManifestTransform(
  manifestEntries: (ManifestEntry & object)[],
  compilation?: unknown,
)

Typ

funkcja

Parametry

  • manifestEntries

    (ManifestEntry i obiekt)[]

    • rozmiar

      Liczba

  • kompilacja

    nieznany opcjonalny

ManifestTransformResult

Właściwości

  • plik manifestu

    (ManifestEntry i obiekt)[]

    • rozmiar

      Liczba

  • ostrzeżenia

    string[] opcjonalny

OptionalGlobDirectoryPartial

Właściwości

  • globDirectory

    ciąg znaków opcjonalny

    Katalog lokalny, do którego chcesz dopasować globPatterns. Ścieżka jest względna wobec bieżącego katalogu.

RequiredGlobDirectoryPartial

Właściwości

  • globDirectory

    string,

    Katalog lokalny, do którego chcesz dopasować globPatterns. Ścieżka jest względna wobec bieżącego katalogu.

RequiredSWDestPartial

Właściwości

  • swDest

    string,

    Ścieżka i nazwa pliku skryptu service worker, który zostanie utworzony przez proces kompilacji względem bieżącego katalogu roboczego. Musi kończyć się na „.js”.

RuntimeCaching

Właściwości

StrategyName

Typ wyliczeniowy

WebpackGenerateSWOptions

WebpackGenerateSWPartial

Właściwości

  • importScriptsViaChunks

    string[] opcjonalny

    Co najmniej jedna nazwa fragmentu pakietu internetowego. Zawartość tych fragmentów zostanie włączona do wygenerowanego skryptu service worker przez wywołanie metody importScripts().

  • swDest

    ciąg znaków opcjonalny

    Wartość domyślna to "service-worker.js".

    Nazwa zasobu pliku skryptu service worker utworzonego przez tę wtyczkę.

WebpackInjectManifestOptions

WebpackInjectManifestPartial

Właściwości

  • compileSrc

    wartość logiczna opcjonalna

    Wartość domyślna to true.

    Gdy wybierzesz true (ustawienie domyślne), plik swSrc zostanie skompilowany przez pakiet internetowy. Jeśli false, kompilacja nie nastąpi (i nie będzie można użyć tagu webpackCompilationPlugins). Ustaw na false, jeśli chcesz wstrzyknąć plik manifestu, np. do pliku JSON.

  • swDest

    ciąg znaków opcjonalny

    Nazwa zasobu pliku skryptu service worker, który zostanie utworzony przez tę wtyczkę. Jeśli pominiesz ten parametr, nazwa zostanie utworzona na podstawie nazwy swSrc.

  • webpackCompilationPlugins

    any[] opcjonalny

    Opcjonalne wtyczki webpack, które zostaną użyte podczas kompilowania pliku wejściowego swSrc. Ma zastosowanie tylko wtedy, gdy compileSrc ma wartość true.

WebpackPartial

Właściwości

  • fragmenty

    string[] opcjonalny

    Co najmniej jedna nazwa fragmentu, której odpowiednie pliki wyjściowe powinny być uwzględnione w pliku manifestu precache.

  • wyklucz

    (ciąg znaków | Wyrażenie regularne | funkcja)[] opcjonalnie

    Co najmniej 1 specyfikator użyty do wykluczenia zasobów z pliku manifestu Precache. Jest to interpretowane zgodnie z tymi samymi regułami co standardowa opcja exclude parametru webpack. Jeśli nie podasz żadnej wartości, domyślną wartością będzie [/\.map$/, /^manifest.*\.js$].

  • excludeChunks

    string[] opcjonalny

    Co najmniej jedna nazwa fragmentu, której odpowiednie pliki wyjściowe powinny być wykluczone z pliku manifestu precache.

  • uwzględnij

    (ciąg znaków | Wyrażenie regularne | funkcja)[] opcjonalnie

    Co najmniej 1 specyfikator służący do dołączania zasobów do pliku manifestu precache. Jest to interpretowane zgodnie z tymi samymi regułami co standardowa opcja include parametru webpack.

  • tryb

    ciąg znaków opcjonalny

    Jeśli ustawiona jest wartość „production”, zostanie utworzony zoptymalizowany pakiet skryptu service worker bez danych debugowania. Jeśli nie skonfigurujesz tutaj wyraźnie wartości mode, użyjemy wartości mode skonfigurowanej w bieżącej kompilacji webpack.

Metody

copyWorkboxLibraries()

workbox-build.copyWorkboxLibraries(
  destDirectory: string,
)

Spowoduje to skopiowanie zestawu bibliotek środowiska wykonawczego używanych przez Workbox do katalogu lokalnego, które powinny być wdrożone razem z plikiem skryptu service worker.

Zamiast wdrażać te kopie lokalne, możesz użyć skrzynki roboczej z oficjalnego adresu URL CDN.

Z tej metody mogą skorzystać deweloperzy korzystający z workbox-build.injectManifest, którzy nie chcą korzystać z kopii CDN Workbox. Deweloperzy używający workbox-build.generateSW nie muszą w jasny sposób wywoływać tej metody.

Parametry

  • destDirectory

    string,

    Ścieżka do katalogu nadrzędnego, w którym zostanie utworzony nowy katalog bibliotek.

Zwroty

  • Obietnica<string>

    Nazwa nowo utworzonego katalogu.

generateSW()

workbox-build.generateSW(
  config: GenerateSWOptions,
)

Ta metoda tworzy listę adresów URL do wstępnego buforowania (tzw. „manifest precache”) na podstawie podanych opcji.

Wykorzystuje też dodatkowe opcje, które konfiguruje działanie skryptu service worker, takie jak wszystkie reguły runtimeCaching, których ma używać.

Na podstawie pliku manifestu precache i dodatkowej konfiguracji zapisuje gotowy do użycia plik skryptu service worker na dysku w miejscu swDest.

// The following lists some common options; see the rest of the documentation
// for the full set of options and defaults.
const {count, size, warnings} = await generateSW({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
  navigateFallback: '...',
  runtimeCaching: [{
    // Routing via a matchCallback function:
    urlPattern: ({request, url}) => ...,
    handler: '...',
    options: {
      cacheName: '...',
      expiration: {
        maxEntries: ...,
      },
    },
  }, {
    // Routing via a RegExp:
    urlPattern: new RegExp('...'),
    handler: '...',
    options: {
      cacheName: '...',
      plugins: [..., ...],
    },
  }],
  skipWaiting: ...,
  swDest: '...',
});

Parametry

Zwroty

getManifest()

workbox-build.getManifest(
  config: GetManifestOptions,
)

Ta metoda zwraca listę adresów URL do pamięci podręcznej (tzw. „manifest precache”) wraz ze szczegółowymi informacjami o liczbie wpisów i ich rozmiarze w zależności od wybranych opcji.

// The following lists some common options; see the rest of the documentation
// for the full set of options and defaults.
const {count, manifestEntries, size, warnings} = await getManifest({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
});

Parametry

Zwroty

getModuleURL()

workbox-build.getModuleURL(
  moduleName: string,
  buildType: BuildType,
)

Parametry

  • moduleName

    string,

  • buildType

    BuildType

Zwroty

  • string,

injectManifest()

workbox-build.injectManifest(
  config: InjectManifestOptions,
)

Ta metoda tworzy listę adresów URL do wstępnego buforowania (tzw. „manifest precache”) na podstawie podanych opcji.

Plik manifestu jest wstrzykiwany do pliku swSrc, a ciąg zastępczy injectionPoint określa miejsce w pliku manifestu.

Końcowy plik skryptu service worker z wstrzykniętym plikiem manifestu jest zapisywany na dysku pod adresem swDest.

Ta metoda nie skompiluje ani nie połączy pliku swSrc, a tylko wstrzykiwać plik manifestu.

// The following lists some common options; see the rest of the documentation
// for the full set of options and defaults.
const {count, size, warnings} = await injectManifest({
  dontCacheBustURLsMatching: [new RegExp('...')],
  globDirectory: '...',
  globPatterns: ['...', '...'],
  maximumFileSizeToCacheInBytes: ...,
  swDest: '...',
  swSrc: '...',
});

Parametry

Zwroty