tworzenie skrzynki roboczej

Moduł workbox-build jest zintegrowany z procesem kompilacji opartym na węzłach i może generować cały moduł service worker lub tylko listę zasobów do wstępnego buforowania, które można wykorzystać w istniejącym module service worker.

Najczęściej używane przez deweloperów tryby to generateSWinjectManifest. Odpowiedzi na te pytania pomogą Ci wybrać odpowiedni tryb i konfigurację.

Którego trybu użyć

generateSW

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

Kiedy używać generateSW

  • chcesz wstępnie zapisać pliki w pamięci podręcznej.
  • masz proste potrzeby związane z pamięcią podręczną w czasie działania;

Kiedy NIE używać generateSW

  • Chcesz używać innych funkcji Service Worker (np. Web Push).
  • Chcesz zaimportować dodatkowe skrypty lub dodać dodatkową logikę do niestandardowych strategii buforowania.

injectManifest

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

Kiedy używać injectManifest

  • Chcesz mieć większą kontrolę nad service workerem.
  • chcesz wstępnie zapisać pliki w pamięci podręcznej.
  • Musisz dostosować routing i strategie.
  • Chcesz używać service workera z innymi funkcjami platformy (np. Web Push).

Kiedy NIE używać injectManifest

  • Chcesz w najprostszy sposób dodać do witryny service worker.

generateSW Tryb

W skrypcie kompilacji opartym na węzłach możesz użyć trybu generateSW, korzystając z najpopularniejszych opcji konfiguracji, w ten sposób:

// 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 usługi Service Worker z konfiguracją wstępnego buforowania wszystkich plików wybranych przez konfigurację oraz podanych reguł buforowania w czasie działania.

Pełny zestaw opcji konfiguracji znajdziesz w dokumentacji.

injectManifest Tryb

W skrypcie kompilacji opartym na węzłach możesz użyć trybu injectManifest, korzystając z najpopularniejszych opcji konfiguracji, w ten sposób:

// 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 buforowania na podstawie plików wybranych przez konfigurację i wstrzyknięcie go do istniejącego pliku service worker.

Pełny zestaw opcji konfiguracji znajdziesz w dokumentacji.

Dodatkowe tryby

Uważamy, że generateSW lub injectManifest zaspokoją 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.

getManifest Tryb

Jest to podobne do trybu injectManifest, ale zamiast dodawać plik manifestu do pliku service workera źródła, zwraca tablicę wpisów manifestu wraz z informacjami o liczbie wpisów i łącznym rozmiarze.

W skrypcie kompilacji opartym na węzłach możesz użyć trybu injectManifest, korzystając z najpopularniejszych opcji konfiguracji, w ten sposób:

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

Typy

BasePartial

Właściwości

  • additionalManifestEntries

    (string | ManifestEntry)[] opcjonalnie

    Lista wpisów do wstępnego buforowania, oprócz wpisów wygenerowanych w ramach konfiguracji kompilacji.

  • dontCacheBustURLsMatching

    Wyrażenie regularne opcjonalne

    Komponenty, które pasują do tego wzorca, będą traktowane jako wersjonowane w unikalny sposób za pomocą adresu URL i wyłączone z normalnego unieważniania pamięci podręcznej HTTP, które jest wykonywane podczas wypełniania pamięci podręcznej wstępnej. Nie jest to wymagane, ale jeśli Twój obecny proces kompilacji wstawia już wartość [hash] do każdej nazwy pliku, zalecamy podanie wyrażenia regularnego, które to wykryje, ponieważ zmniejszy to przepustowość zużywaną podczas wstępnego buforowania.

  • manifestTransforms

    ManifestTransform[] opcjonalnie

    Co najmniej 1 funkcja, która będzie stosowana 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 to: 2097152

    Ta wartość może służyć do określania maksymalnego rozmiaru plików, które będą wstępnie buforowane. Zapobiega to przypadkowemu wstępnemu buforowaniu bardzo dużych plików, które mogły przypadkowo pasować do jednego z Twoich wzorców.

  • modifyURLPrefix

    obiekt opcjonalny

    Ciąg znaków mapowania obiektów, który zawiera prefiksy ciągów znaków i wartości ciągów znaków zastępujących. Można go użyć np. do usunięcia lub dodania prefiksu ścieżki z pozycji w pliku manifestu, jeśli konfiguracja hostingu nie pasuje do konfiguracji lokalnego systemu plików. Alternatywnie możesz użyć bardziej elastycznej opcji manifestTransforms i podać funkcję, która modyfikuje wpisy w pliku manifestu za pomocą dowolnej 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[] opcjonalny

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

    Cele, które mają zostać przekazane do babel-preset-env podczas transpilacji pakietu service worker.

  • cacheId

    ciąg znaków opcjonalny

    Opcjonalny identyfikator, który ma być dodawany na początku nazw pamięci podręcznej. Jest to przydatne przede wszystkim w przypadku lokalnego tworzenia aplikacji, gdy wiele witryn może być obsługiwanych z tego samego http://localhost:portpochodzenia.

  • cleanupOutdatedCaches

    wartość logiczna opcjonalna

    Wartość domyślna to false.

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

  • clientsClaim

    wartość logiczna opcjonalna

    Wartość domyślna to false.

    Określa, czy service worker ma przejąć kontrolę nad istniejącymi klientami od razu po aktywacji.

  • directoryIndex

    ciąg znaków opcjonalny

    Jeśli żądanie nawigacji dla adresu URL kończącego się na / nie pasuje do wstępnie buforowanego adresu URL, ta wartość zostanie dołączona do adresu URL i sprawdzona pod kątem dopasowania do wstępnie buforowanego adresu URL. Należy ustawić wartość, której serwer WWW używa jako indeksu katalogu.

  • disableDevLogs

    wartość logiczna opcjonalna

    Wartość domyślna to false.

  • 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 do wstępnego buforowania. Jest to przydatne, jeśli użytkownicy mogą wysyłać żądania adresów URL, które zawierają np. parametry URL używane do śledzenia źródła ruchu. Jeśli nie podasz żadnej opcji, domyślna wartość to [/^utm_/, /^fbclid$/].

  • importScripts

    string[] opcjonalny

    Lista plików JavaScript, które powinny zostać przekazane do importScripts() w wygenerowanym pliku service worker. Jest to przydatne, gdy chcesz, aby Workbox utworzył plik service worker najwyższego poziomu, ale chcesz dołączyć dodatkowy kod, np. odbiornik zdarzeń push.

  • inlineWorkboxRuntime

    wartość logiczna opcjonalna

    Wartość domyślna to false.

    Określa, czy kod środowiska wykonawczego biblioteki Workbox ma być uwzględniony w usłudze Service Worker najwyższego poziomu, czy też podzielony na osobny plik, który należy wdrożyć razem z usługą Service Worker. Oddzielenie środowiska wykonawczego oznacza, że użytkownicy nie będą musieli ponownie pobierać kodu Workbox za każdym razem, gdy zmieni się pracownik usługi najwyższego poziomu.

  • tryb

    ciąg znaków opcjonalny

    Wartość domyślna to: „production”

    Jeśli ustawisz wartość „production”, zostanie wygenerowany zoptymalizowany pakiet service workera, który nie będzie zawierać informacji do debugowania. Jeśli nie skonfigurujesz go tutaj, zostanie użyta wartość process.env.NODE_ENV, a jeśli to się nie uda, zostanie użyta wartość 'production'.

  • navigateFallback

    ciąg znaków opcjonalny

    Wartość domyślna to: null

    Jeśli ta opcja jest określona, wszystkie żądania nawigacji dotyczące adresów URL, które nie zostały wstępnie zapisane w pamięci podręcznej, będą realizowane za pomocą kodu HTML podanego w adresie URL. Musisz przekazać adres URL dokumentu HTML, który jest wymieniony w pliku manifestu wstępnego buforowania. Jest to rozwiązanie przeznaczone do aplikacji jednostronicowych, w których chcesz, aby wszystkie nawigacje korzystały ze wspólnego kodu HTML powłoki aplikacji.

  • navigateFallbackAllowlist

    RegExp[] opcjonalny

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

    Uwaga: te wyrażenia regularne mogą być sprawdzane w przypadku każdego docelowego adresu URL podczas nawigacji. Unikaj używania złożonych wyrażeń regularnych, ponieważ użytkownicy mogą doświadczać opóźnień podczas poruszania się po Twojej witrynie.

  • navigateFallbackDenylist

    RegExp[] opcjonalny

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

    Uwaga: te wyrażenia regularne mogą być sprawdzane w przypadku każdego docelowego adresu URL podczas nawigacji. Unikaj używania złożonych wyrażeń regularnych, ponieważ użytkownicy mogą doświadczać opóźnień podczas poruszania się po Twojej witrynie.

  • navigationPreload

    wartość logiczna opcjonalna

    Wartość domyślna to false.

    Określa, czy w wygenerowanym pliku service worker ma być włączone wstępne wczytywanie nawigacji. Jeśli ta wartość jest ustawiona na „true”, musisz też użyć parametru runtimeCaching, aby skonfigurować odpowiednią strategię odpowiedzi, która będzie pasować do żądań nawigacji i korzystać z wstępnie załadowanej odpowiedzi.

  • offlineGoogleAnalytics

    wartość logiczna | GoogleAnalyticsInitializeOptions opcjonalnie

    Wartość domyślna to false.

    Określa, czy ma być uwzględniana obsługa Google Analytics w trybie offline. Gdy true, wywołanie workbox-google-analyticsinitialize() zostanie dodane do wygenerowanego procesu roboczego usługi. Jeśli ten parametr ma wartość Object, obiekt zostanie przekazany do wywołania initialize(), co umożliwi dostosowanie działania.

  • runtimeCaching

    RuntimeCaching[] opcjonalne

    Jeśli do generowania skryptu service worker używasz narzędzi do kompilacji Workbox, możesz określić co najmniej jedną konfigurację pamięci podręcznej w czasie działania. Są one następnie tłumaczone na wywołania workbox-routing.registerRoute przy użyciu zdefiniowanej przez Ciebie konfiguracji dopasowania i procedury obsługi.

    Wszystkie opcje znajdziesz w workbox-build.RuntimeCachingdokumentacji. Poniższy przykład przedstawia typową konfigurację z 2 zdefiniowanymi trasami środowiska wykonawczego:

  • skipWaiting

    wartość logiczna opcjonalna

    Wartość domyślna to false.

    Określa, czy do wygenerowanego procesu service worker ma zostać dodane bezwarunkowe wywołanie funkcji skipWaiting(). Jeśli false, zamiast tego zostanie dodany odbiornik message, który umożliwi stronom klienta wywoływanie skipWaiting() przez wywoływanie postMessage({type: 'SKIP_WAITING'}) w oczekującym procesie service worker.

  • sourcemap

    wartość logiczna opcjonalna

    Wartość domyślna to true.

    Określa, czy utworzyć mapę źródła dla wygenerowanych plików 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 pamięci podręcznej mają być używane linki symboliczne. Więcej informacji znajdziesz w definicji followglob dokumentacji.

  • globIgnores

    string[] opcjonalny

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

    Zestaw wzorców pasujących do plików, które mają być zawsze wykluczane podczas generowania manifestu pamięci podręcznej. Więcej informacji znajdziesz w definicji ignoreglob dokumentacji.

  • globPatterns

    string[] opcjonalny

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

    Pliki pasujące do dowolnego z tych wzorców zostaną uwzględnione w manifestie wstępnego buforowania. Więcej informacji znajdziesz w glob wprowadzeniu.

  • templatedURLs

    obiekt opcjonalny

    Jeśli adres URL jest renderowany na podstawie logiki po stronie serwera, jego zawartość może zależeć od wielu plików lub od innego unikalnego ciągu znaków. Klucze w tym obiekcie to adresy URL renderowane na serwerze. Jeśli wartości są tablicą ciągów znaków, będą interpretowane jako glob wzorce, a zawartość wszystkich plików pasujących do wzorców będzie używana do unikalnego określania wersji adresu URL. Jeśli jest używany z jednym ciągiem znaków, będzie interpretowany jako unikalne informacje o wersji wygenerowane przez Ciebie 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 wygenerowanym plikiem manifestu wstępnego buforowania.

  • swSrc

    ciąg znaków

    Ścieżka i nazwa pliku service worker, który będzie odczytywany podczas procesu kompilacji, względem bieżącego katalogu roboczego.

ManifestEntry

Właściwości

  • integralność,

    ciąg znaków opcjonalny

  • wersja

    ciąg znaków

  • URL

    ciąg znaków

ManifestTransform()

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

Typ

funkcja

Parametry

  • manifestEntries

    (ManifestEntry & object)[]

    • rozmiar

      liczba

  • kompilacja,

    unknown opcjonalny

ManifestTransformResult

Właściwości

  • plik manifestu

    (ManifestEntry & object)[]

    • rozmiar

      liczba

  • ostrzeżenia

    string[] opcjonalny

OptionalGlobDirectoryPartial

Właściwości

  • globDirectory

    ciąg znaków opcjonalny

    Lokalny katalog, z którym chcesz porównać globPatterns. Ścieżka jest względna względem bieżącego katalogu.

RequiredGlobDirectoryPartial

Właściwości

  • globDirectory

    ciąg znaków

    Lokalny katalog, z którym chcesz porównać globPatterns. Ścieżka jest względna względem bieżącego katalogu.

RequiredSWDestPartial

Właściwości

  • swDest

    ciąg znaków

    Ścieżka i nazwa pliku service worker, który zostanie utworzony w procesie 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[] opcjonalny

    Co najmniej 1 nazwa fragmentu webpacka. Treść tych fragmentów zostanie uwzględniona w wygenerowanym procesie roboczym usługi za pomocą wywołania importScripts().

  • swDest

    ciąg znaków opcjonalny

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

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

WebpackInjectManifestOptions

WebpackInjectManifestPartial

Właściwości

  • compileSrc

    wartość logiczna opcjonalna

    Wartość domyślna to true.

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

  • swDest

    ciąg znaków opcjonalny

    Nazwa pliku service worker, który zostanie utworzony przez ten plugin. Jeśli go pominiesz, 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 ma wartość true.

WebpackPartial

Właściwości

  • kawałki,

    string[] opcjonalny

    Nazwy co najmniej 1 fragmentu, którego odpowiednie pliki wyjściowe mają być uwzględnione w manifestie pamięci podręcznej.

  • wyklucz

    (string | RegExp | function)[] opcjonalny

    Co najmniej 1 specyfikator używany do wykluczania zasobów z pliku manifestu pamięci podręcznej. 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[] opcjonalny

    Nazwy co najmniej 1 fragmentu, którego odpowiednie pliki wyjściowe mają zostać wykluczone z manifestu pamięci podręcznej.

  • uwzględnij

    (string | RegExp | function)[] opcjonalny

    Co najmniej 1 specyfikator używany do uwzględniania komponentów w manifeście pamięci podręcznej. Jest on interpretowany zgodnie z tymi samymi zasadami co standardowa opcja includewebpack.

  • tryb

    ciąg znaków opcjonalny

    Jeśli ustawisz wartość „production”, zostanie wygenerowany zoptymalizowany pakiet service workera, który nie będzie zawierać informacji do debugowania. Jeśli nie zostanie tu wyraźnie skonfigurowana, użyta zostanie wartość mode skonfigurowana w bieżącej kompilacji webpack.

Metody

copyWorkboxLibraries()

workbox-build.copyWorkboxLibraries(
  destDirectory: string,
)
: Promise<string>

Spowoduje to skopiowanie zestawu bibliotek środowiska wykonawczego używanych przez Workbox do katalogu lokalnego, który powinien być wdrażany razem z plikiem service worker.

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

Ta metoda jest udostępniana deweloperom korzystającym z workbox-build.injectManifest, którzy wolą nie używać kopii Workbox w CDN. Deweloperzy korzystający z workbox-build.generateSW nie muszą jawnie wywoływać tej metody.

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,
)
: Promise<BuildResult>

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

Przyjmuje też dodatkowe opcje, które konfigurują działanie service workera, np. runtimeCaching reguły, których powinien używać.

Na podstawie manifestu wstępnego buforowania i dodatkowej konfiguracji zapisuje na dysku gotowy do użycia plik instancji roboczej w lokalizacji 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,
)
: Promise<GetManifestResult>

Ta metoda zwraca listę adresów URL do wstępnego buforowania, zwaną „manifestem wstępnego buforowania”, wraz ze szczegółami dotyczącymi liczby wpisów i ich rozmiaru 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,
)
: string

Parametry

  • moduleName

    ciąg znaków

  • buildType

    BuildType

Zwroty

  • ciąg znaków

injectManifest()

workbox-build.injectManifest(
  config: InjectManifestOptions,
)
: Promise<BuildResult>

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

Manifest jest wstrzykiwany do pliku swSrc, a ciąg zastępczy injectionPoint określa, gdzie w pliku ma się on znajdować.

Ostateczny plik service worker z wstrzykniętym manifestem jest zapisywany na dysku w lokalizacji swDest.

Ta metoda nie kompiluje ani nie łączy pliku swSrc, a tylko wstawia 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