tworzenie skrzynki roboczej

Moduł workbox-build integruje się z procesem kompilacji opartym na Nodzie i może wygenerować cały moduł service workera lub tylko listę zasobów do wstępnego buforowania, które można wykorzystać w istniejącym module service workera.

Dwa tryby, z których korzysta większość deweloperów, to generateSWinjectManifest. Odpowiedzi na te pytania pomogą Ci wybrać odpowiedni tryb i konfigurację.

Którego trybu używać

generateSW

Tryb generateSW tworzy dla Ciebie plik usługi, dostosowując go za pomocą opcji konfiguracji, i zapisuje go na dysku.

Kiedy używać generateSW

  • chcesz wstępnie zapisać pliki.
  • masz proste potrzeby dotyczące buforowania w czasie wykonywania;

Kiedy nie używać generateSW

  • Chcesz korzystać z innych funkcji Service Worker (np. Web Push).
  • Chcesz zaimportować dodatkowe skrypty lub dodać dodatkową logikę dla niestandardowych strategii buforowania.

injectManifest

Tryb injectManifest wygeneruje listę adresów URL do wstępnego buforowania i doda manifest wstępnego buforowania do istniejącego pliku usługi. W przeciwnym razie plik pozostanie bez zmian.

Kiedy używać injectManifest

  • Chcesz mieć większą kontrolę nad usługą.
  • chcesz wstępnie zapisać pliki.
  • Musisz dostosować kierowanie i strategie.
  • Chcesz używać swojego serwisu workera z innymi funkcjami platformy (np. Web Push).

Kiedy nie używać injectManifest

  • Chcesz dowiedzieć się, jak najłatwiej dodać do witryny usługę działającą w tle.

Tryb generateSW

Tryb generateSW możesz używać w ramach skryptu kompilacji opartej na węzłach, korzystając z najczęstszych opcji konfiguracji, takich jak:

// 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 instancji roboczej usługi z uprzednim buforowaniem wszystkich plików wybranych przez konfigurację oraz podanych reguł buforowania w czasie działania.

Pełny zestaw opcji konfiguracji znajdziesz w dokumentacji referencyjnej.

Tryb injectManifest

Tryb injectManifest możesz używać w ramach skryptu kompilacji opartej na węzłach, korzystając z najczęstszych opcji konfiguracji, takich jak:

// 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 manifestu wstępnego na podstawie plików wybranych przez konfigurację i wstrzyknięcie go do istniejącego pliku usługi roboczej.

Pełny zestaw opcji konfiguracji znajdziesz w dokumentacji referencyjnej.

Dodatkowe tryby

Spodziewamy się, że generateSW lub injectManifest spełni potrzeby większości deweloperów. workbox-build obsługuje jednak jeszcze jeden tryb, który może być odpowiedni w niektórych przypadkach użycia.

Tryb getManifest

Pod względem koncepcyjnym jest to podobne do trybu injectManifest, ale zamiast dodawania pliku manifestu do pliku źródłowego serwisu workera zwraca tablicę wpisów w pliku manifestu wraz z informacjami o liczbie wpisów i ich łącznym rozmiarze.

Tryb injectManifest możesz używać w ramach skryptu kompilacji opartej na węzłach, korzystając z najczęstszych opcji konfiguracji, takich jak:

// 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 konfiguracji znajdziesz w dokumentacji referencyjnej.

Typy

BasePartial

Właściwości

  • additionalManifestEntries

    (string | ManifestEntry)[] opcjonalnie

    lista wpisów do wstępnego zcache’owania, a także wpisów wygenerowanych w ramach konfiguracji kompilacji;

  • dontCacheBustURLsMatching

    RegExp opcjonalny

    Zakłada się, że zasoby, które pasują do tego wzorca, mają unikalną wersję określoną za pomocą ich adresu URL i są wykluczone z normalnego burzenia pamięci podręcznej HTTP, które jest wykonywane podczas wypełniania pamięci podręcznej wstępnej. Chociaż nie jest to wymagane, jeśli istniejący proces kompilacji już wstawia wartość [hash] do nazwy każdego pliku, zalecamy podanie wyrażenia regularnego, które to wykryje, ponieważ pozwoli to zmniejszyć zużycie przepustowości podczas wstępnego przechowywania w pamięci podręcznej.

  • manifestTransforms

    ManifestTransform[] opcjonalnie

    Co najmniej 1 funkcja, która zostanie zastosowana sekwencyjnie do wygenerowanego pliku manifestu. Jeśli określono też modifyURLPrefix lub dontCacheBustURLsMatching, najpierw zostaną zastosowane odpowiednie przekształcenia.

  • maximumFileSizeToCacheInBytes

    number opcjonalny

    Wartość domyślna: 2097152

    Ta wartość może służyć do określenia maksymalnego rozmiaru plików, które zostaną zarchiwizowane. Zapobiega to przypadkowemu wstępnemu buforowaniu bardzo dużych plików, które mogłyby przypadkowo pasować do jednego z Twoich wzorów.

  • modifyURLPrefix

    object opcjonalne

    Obiekt mapujący ciągi znaków prefiksów na wartości ciągu znaków zastępczych. Możesz go użyć np. do usunięcia lub dodania prefiksu ścieżki z pliku manifestu, jeśli konfiguracja hostingu internetowego nie pasuje do konfiguracji lokalnego systemu plików. Jako alternatywę możesz użyć opcji manifestTransforms i podać funkcję, która modyfikuje wpisy w pliku manifestu za pomocą dowolnej podanej przez Ciebie logiki.

    Przykład użycia:

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

BuildResult

Typ

Omit<GetManifestResult"manifestEntries"
> & object

Właściwości

  • filePaths

    string[]

GeneratePartial

Właściwości

  • babelPresetEnvTargets

    string[] opcjonalnie

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

    Cel, który ma zostać przekazany do babel-preset-env podczas transpilacji pakietu usługi.

  • cacheId

    string opcjonalny

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

  • cleanupOutdatedCaches

    wartość logiczna opcjonalna

    Wartość domyślna: false.

    Określa, czy Workbox ma próbować zidentyfikować i usunąć wszystkie pamięci podręczne utworzone przez starsze, niezgodne wersje.

  • clientsClaim

    wartość logiczna opcjonalna

    Wartość domyślna: false

    Określ, czy usługa powinna zacząć kontrolować wszystkich dotychczasowych klientów od razu po aktywacji.

  • directoryIndex

    string opcjonalny

    Jeśli żądanie nawigacji dotyczące adresu URL kończącego się na / nie pasuje do adresu URL z poziomu pamięci podręcznej, do adresu URL zostanie dołączona ta wartość i sprawdzimy, czy pasuje ona do adresu URL z poziomu pamięci podręcznej. Powinien on odpowiadać ustawieniom serwera WWW w przypadku indeksu katalogu.

  • disableDevLogs

    wartość logiczna opcjonalna

    Wartość domyślna: false.

  • ignoreURLParametersMatching

    RegExp[] opcjonalny

    Przed rozpoczęciem wyszukiwania dopasowania w pamięci podręcznej zostaną usunięte wszystkie nazwy parametrów wyszukiwania, które pasują do jednego z wyrażeń regularnych w tym tablicy. Jest to przydatne, jeśli użytkownicy mogą wysyłać żądania adresów URL zawierających np. parametry adresu URL używane do śledzenia źródła wizyt. Jeśli nie podasz żadnej opcji, domyślną wartością będzie [/^utm_/, /^fbclid$/].

  • importScripts

    string[] opcjonalnie

    Lista plików JavaScript, które należy przekazać do importScripts() w wygenerowanym pliku usługi. Jest to przydatne, gdy chcesz, aby Workbox utworzył plik service worker na najwyższym poziomie, ale chcesz też dodać do niego dodatkowy kod, np. odbiornik zdarzeń push.

  • inlineWorkboxRuntime

    wartość logiczna opcjonalna

    Wartość domyślna: false.

    Określ, czy kod runtime biblioteki Workbox ma być uwzględniony w usługowym workerze najwyższego poziomu, czy podzielony na oddzielny plik, który należy wdrożyć razem z usługowym workerem. Dzięki temu, że środowisko wykonawcze jest oddzielne, użytkownicy nie będą musieli ponownie pobierać kodu Workbox za każdym razem, gdy zmieni się worker usługi na najwyższym poziomie.

  • tryb

    string opcjonalny

    Wartość domyślna: „production”.

    Jeśli ustawisz wartość „production”, zostanie wygenerowany zoptymalizowany pakiet usługi, który wyklucza informacje debugowania. Jeśli nie skonfigurujesz tego parametru, zostanie użyta wartość process.env.NODE_ENV, a jeśli nie, 'production'.

  • navigateFallback

    string opcjonalny

    Wartość domyślna: null.

    Jeśli to pole jest zaznaczone, wszystkie żądania nawigacji dotyczące adresów URL, które nie są wcześniej przechowywane w pamięci podręcznej, będą realizowane za pomocą kodu HTML z podanego adresu URL. Musisz podać adres URL dokumentu HTML, który znajduje się w pliku manifestu domyślnego buforowania. Jest on przeznaczony do używania w sytuacji aplikacji jednostronicowej, w której chcesz, aby wszystkie elementy nawigacji używały wspólnego HTML w opakowaniu aplikacji.

  • navigateFallbackAllowlist

    RegExp[] opcjonalny

    Opcjonalny tablica wyrażeń regularnych, która ogranicza zakres adresów URL, do których ma zastosowanie skonfigurowane zachowanie navigateFallback. Jest to przydatne, jeśli tylko podzbiór adresów URL w witrynie ma być traktowany jako część aplikacji jednostronicowej. Jeśli skonfigurujesz zarówno navigateFallbackDenylist, jak i navigateFallbackAllowlist, lista zaprzeczeń ma pierwszeństwo.

    Uwaga: podczas nawigacji te wyrażenia regularne mogą być oceniane na podstawie każdego adresu URL docelowego. Unikaj korzystania z złożonych wyrażeń regularnych, ponieważ może to spowodować opóźnienia w nawigacji po witrynie.

  • navigateFallbackDenylist

    RegExp[] opcjonalny

    Opcjonalny tablica wyrażeń regularnych, która ogranicza zakres adresów URL, do których ma zastosowanie skonfigurowane zachowanie navigateFallback. Jest to przydatne, jeśli tylko podzbiór adresów URL witryny ma być traktowany jako część aplikacji jednostronicowej. Jeśli obie opcje navigateFallbackDenylistnavigateFallbackAllowlist są skonfigurowane, lista zaprzeczeń ma pierwszeństwo.

    Uwaga: podczas nawigacji te wyrażenia regularne mogą być oceniane na podstawie każdego adresu URL docelowego. Unikaj korzystania z złożonego wyrażenia regularnego, ponieważ może to spowodować opóźnienia w nawigacji po witrynie.

  • navigationPreload

    wartość logiczna opcjonalna

    Wartość domyślna: false

    Określa, czy w wygenerowanym serwisie workera ma być włączone przedwczytywanie nawigacji. Gdy ta opcja jest ustawiona na wartość true, musisz też użyć opcji runtimeCaching, aby skonfigurować odpowiednią strategię odpowiedzi, która będzie dopasowywać żądania nawigacji, i korzystać z wstępnie załadowanej odpowiedzi.

  • offlineGoogleAnalytics

    wartość logiczna | GoogleAnalyticsInitializeOptions opcjonalnie

    Wartość domyślna: false.

    Określa, czy uwzględnić obsługę Google Analytics offline. Gdy true, do wygenerowanego service workera zostanie dodany wywołanie funkcji initialize() z poziomu workbox-google-analytics. Gdy ustawisz parametr na Object, ten obiekt zostanie przekazany do wywołania initialize(), co pozwoli Ci dostosować działanie.

  • runtimeCaching

    RuntimeCaching[] opcjonalne

    Jeśli do generowania serwisu workera używasz narzędzi do kompilacji Workboxa, możesz określić co najmniej jedną konfigurację buforowania w czasie wykonywania. Następnie są one tłumaczone na wywołania workbox-routing.registerRoute przy użyciu zdefiniowanej przez Ciebie konfiguracji dopasowania i obsługi.

    Wszystkie opcje znajdziesz w dokumentacji workbox-build.RuntimeCaching. Przykład poniżej przedstawia typową konfigurację z 2 zdefiniowanymi ścieżkami w czasie wykonywania:

  • skipWaiting

    wartość logiczna opcjonalna

    Wartość domyślna: false.

    Określa, czy do wygenerowanego service workera ma zostać dodane bezwarunkowe wywołanie skipWaiting(). Jeśli false, zamiast tego zostanie dodany odbiorca message, co pozwoli stronom klienta wywoływać skipWaiting() przez wywołanie postMessage({type: 'SKIP_WAITING'}) w ramach oczekującego wątku usługi.

  • sourcemap

    wartość logiczna opcjonalna

    Wartość domyślna: true.

    Określa, czy należy utworzyć mapę źródeł dla wygenerowanych plików usługi skryptu.

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: true.

    Określa, czy podczas generowania pliku manifestu pamięci podręcznej są śledzone skróty symboliczne. Więcej informacji znajdziesz w definicji followdokumentacji usługi glob.

  • globIgnores

    string[] opcjonalnie

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

    Zestaw wzorów pasujących do plików, które mają być zawsze wykluczane podczas generowania pliku manifestu pamięci podręcznej. Więcej informacji znajdziesz w definicji ignoredokumentacji usługi glob.

  • globPatterns

    string[] opcjonalnie

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

    Pliki zgodne z dowolnym z tych wzorów zostaną uwzględnione w pliku manifestu domyślnego buforowania. Więcej informacji znajdziesz w artykule glob.

  • globStrict

    wartość logiczna opcjonalna

    Wartość domyślna: true.

    Jeśli to pole ma wartość true, błąd podczas odczytu katalogu podczas generowania pliku z manifescją do wstępnego buforowania spowoduje niepowodzenie kompilacji. Jeśli ma wartość Fałsz, problemowy katalog zostanie pominięty. Więcej informacji znajdziesz w definicji strictdokumentacji usługi glob.

  • templatedURLs

    object opcjonalne

    Jeśli adres URL jest renderowany na podstawie logiki po stronie serwera, jego zawartość może zależeć od wielu plików lub innej unikalnej wartości ciągu znaków. Klucze w tym obiekcie to adresy URL renderowane na serwerze. Jeśli wartości to tablica ciągów znaków, zostaną one zinterpretowane jako wzorce glob, a zawartość dowolnych plików pasujących do tych wzorów zostanie użyta do utworzenia unikalnego adresu URL. Jeśli zostanie użyty z jednym ciągiem znaków, zostanie zinterpretowany jako unikalne informacje o wersji wygenerowane przez Ciebie dla danego adresu URL.

InjectManifestOptions

InjectPartial

Właściwości

  • injectionPoint

    string opcjonalny

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

    Ciąg do znalezienia w pliku swSrc. Gdy zostanie znaleziony, zostanie zastąpiony wygenerowanym plikiem manifestu do wstępnego buforowania.

  • swSrc

    ciąg znaków

    Ścieżka i nazwa pliku usługi, który będzie odczytywany podczas procesu kompilacji, w uwzględnieniu bieżącego katalogu roboczego.

ManifestEntry

Właściwości

  • integralność

    string opcjonalny

  • wersja

    ciąg znaków

  • URL

    ciąg znaków

ManifestTransform()

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

Typ

funkcja

Parametry

  • manifestEntries

    (ManifestEntry & object)[]

    • rozmiar

      liczba

  • kompilacja

    nieznany opcjonalny

ManifestTransformResult

Właściwości

  • plik manifestu

    (ManifestEntry & object)[]

    • rozmiar

      liczba

  • ostrzeżenia

    string[] opcjonalnie

OptionalGlobDirectoryPartial

Właściwości

  • globDirectory

    string opcjonalny

    Lokalny katalog, który ma być dopasowywany do globPatterns. Ścieżka jest względna do bieżącego katalogu.

RequiredGlobDirectoryPartial

Właściwości

  • globDirectory

    ciąg znaków

    Lokalny katalog, który ma być dopasowywany do globPatterns. Ścieżka jest względna do bieżącego katalogu.

RequiredSWDestPartial

Właściwości

  • swDest

    ciąg znaków

    Ścieżka i nazwa pliku usługi, 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

„CacheFirst”

"CacheOnly"

„NetworkFirst”

"NetworkOnly"

„StaleWhileRevalidate”

WebpackGenerateSWOptions

WebpackGenerateSWPartial

Właściwości

  • importScriptsViaChunks

    string[] opcjonalnie

    Co najmniej 1 nazwa fragmentu Webpack. Zawartość tych fragmentów zostanie uwzględniona w wygenerowanym serwisie workera za pomocą wywołania importScripts().

  • swDest

    string opcjonalny

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

    Nazwa zasobu pliku usługi roboczej utworzonego przez tę wtyczkę.

WebpackInjectManifestOptions

WebpackInjectManifestPartial

Właściwości

  • compileSrc

    wartość logiczna opcjonalna

    Wartość domyślna: true.

    Jeśli ustawisz wartość true (domyślna), plik swSrc zostanie skompilowany przez webpack. Gdy false, kompilacja nie zostanie przeprowadzona (i nie będzie można użyć webpackCompilationPlugins). Ustaw na false, jeśli chcesz wstrzyknąć manifest do pliku JSON.

  • swDest

    string opcjonalny

    Nazwa zasobu pliku usługi, który zostanie utworzony przez ten wtyczkę. Jeśli nie zostanie podana, nazwa będzie oparta na nazwie swSrc.

  • webpackCompilationPlugins

    any[] opcjonalny

    Opcjonalne wtyczki webpack, które będą używane podczas kompilowania pliku wejściowego swSrc. Obowiązuje tylko wtedy, gdy compileSrc to true.

WebpackPartial

Właściwości

  • kawałki

    string[] opcjonalnie

    Nazwy co najmniej 1 elementu, którego odpowiadające pliki wyjściowe powinny zostać uwzględnione w pliku manifestu do wstępnego buforowania.

  • wyklucz

    (string | RegExp | function)[] opcjonalnie

    Jeden lub więcej wskaźników służących do wykluczania zasobów z pliku manifestu do wstępnego buforowania. Jest on interpretowany zgodnie z tymi samymi zasadami co standardowa opcja excludewebpack. Jeśli nie podasz żadnej opcji, domyślna wartość to [/\.map$/, /^manifest.*\.js$].

  • excludeChunks

    string[] opcjonalnie

    Nazwy co najmniej 1 elementu, którego odpowiadające mu pliki wyjściowe powinny zostać wykluczone z manifesztu wstępnego.

  • uwzględnij

    (string | RegExp | function)[] opcjonalnie

    Jeden lub więcej wskaźników używanych do uwzględniania zasobów w pliku manifestu wstępnego buforowania. Jest on interpretowany zgodnie z tymi samymi zasadami co standardowa opcja includewebpack.

  • tryb

    string opcjonalny

    Jeśli ustawisz wartość „production”, zostanie wygenerowany zoptymalizowany pakiet usługi, który wyklucza informacje debugowania. Jeśli nie skonfigurujesz tego parametru, zostanie użyta wartość mode skonfigurowana w bieżącej kompilacji webpack.

Metody

copyWorkboxLibraries()

workbox-build.copyWorkboxLibraries(
  destDirectory: string,
)

Spowoduje to skopiowanie do katalogu lokalnego zestawu bibliotek używanych przez Workboxa, które należy wdrożyć wraz z pliku usługi.

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

Ta metoda jest udostępniana dla wygody deweloperów korzystających z workbox-build.injectManifest, którzy nie chcą używać kopii Workbox w CDN. Deweloperzy korzystający z funkcji workbox-build.generateSW nie muszą wywoływać tej metody wprost.

Parametry

  • destDirectory

    ciąg znaków

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

Zwroty

  • Promise<string>

    Nazwa nowo utworzonego katalogu.

generateSW()

workbox-build.generateSW(
  config: GenerateSWOptions,
)

Ta metoda tworzy listę adresów URL do wstępnego buforowania, zwaną „wstępnym buforowaniem pliku manifestu”, na podstawie podanych przez Ciebie opcji.

Zawiera też dodatkowe opcje konfiguracji zachowania pracownika usługi, takie jak dowolne reguły runtimeCaching, których ma używać.

Na podstawie pliku manifestu do wstępnego buforowania i dodatkowej konfiguracji zapisuje na dysku plik usługi instancji roboczej gotowy do użycia plik na dysku 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 wstępnego buforowania, czyli „przewstępnego pliku manifestu”, wraz ze szczegółami dotyczącymi liczby i rozmiaru wpisów na podstawie podanych przez Ciebie 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

    ciąg znaków

  • buildType

    BuildType

Zwroty

  • ciąg znaków

injectManifest()

workbox-build.injectManifest(
  config: InjectManifestOptions,
)

Ta metoda tworzy listę adresów URL do wstępnego buforowania, zwaną „wstępnym buforowaniem pliku manifestu”, na podstawie podanych przez Ciebie opcji.

Manifest jest wstrzykiwany do pliku swSrc, a ciąg znaków zastępczych injectionPoint określa, gdzie w pliku powinien się on znaleźć.

Ostateczny plik usługi roboczej z wstrzykniętym manifestem jest zapisywany na dysku w miejscu swDest.

Ta metoda nie skompiluje ani nie zbundle’uje pliku swSrc, tylko wstrzyknie manifest.

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