Les service workers permettent d'enregistrer un ensemble de fichiers lors de l'installation du service worker. Ceci est souvent appelé car vous mettez en cache le contenu avant que le service worker utilisé.
Cela permet principalement aux développeurs de contrôler ce qui signifie qu'ils peuvent déterminer quand et pendant combien de temps un fichier est mis en cache au navigateur sans passer par le réseau, ce qui signifie qu'il peut être pour créer des applications Web qui fonctionnent hors connexion.
Workbox simplifie le préchargement en simplifiant l'API et en veillant à ce que les éléments soient téléchargés de manière efficace.
Fonctionnement de workbox-precaching
Lorsqu'une application Web est chargée pour la première fois, workbox-precaching examine tous les composants que vous souhaitez télécharger, supprime les doublons et connecte les événements de service worker pertinents pour télécharger et stocker les composants. Les URL qui incluent déjà des informations de gestion des versions (comme un hachage de contenu) sont utilisées comme clés de cache sans autre modification. Les URL qui n'incluent pas d'informations de gestion des versions
Paramètre de requête d'URL ajouté à la clé de cache et représentant un hachage de son contenu
généré par Workbox au moment de la compilation.
workbox-precaching effectue tout cela lors de l'événement install du service worker.
Lorsqu'un utilisateur revient ultérieurement sur votre application Web et que vous avez un nouveau service worker avec
éléments en pré-cache, workbox-precaching examinera la nouvelle liste
et identifiez ceux qui sont nouveaux et existants.
doivent être mises à jour, en fonction de leurs révisions. De nouveaux éléments ou la mise à jour de révisions,
sont ajoutées au cache lors de l'événement install du nouveau service worker.
Ce nouveau service worker ne sera utilisé pour répondre aux requêtes qu'une fois son événement activate déclenché. C'est dans l'événement activate que workbox-precaching recherche les éléments mis en cache qui ne figurent plus dans la liste des URL actuelles, et les supprime du cache.
workbox-precaching effectuera ces étapes à chaque installation de votre service worker
et activée, ce qui garantit que l'utilisateur dispose des derniers éléments et ne télécharge que les
les fichiers qui ont été modifiés.
Diffuser des réponses en pré-cache
L'appel de precacheAndRoute() ou de addRoute() crée une route correspondant aux requêtes d'URL préchargées.
La stratégie de réponse utilisée dans ce chemin est cache-first: la réponse mise en pré-cache est utilisée, sauf si la réponse mise en cache n'est pas présente (en raison de une erreur inattendue), auquel cas une réponse du réseau sera utilisée à la place.
L'ordre dans lequel vous appelez precacheAndRoute() ou addRoute() est important.
Normalement, il est préférable de l'appeler au début du fichier de service worker, avant
l'enregistrement de tout 
itinéraire supplémentaire avec
registerRoute()
Si vous avez d'abord appelé registerRoute() et que cet itinéraire correspond à un
quelle que soit la stratégie définie dans ce chemin supplémentaire, elle sera utilisée pour
au lieu de la stratégie "cache-first" utilisée par workbox-precaching.
Explication de la liste de mise en cache préalable
workbox-precaching attend un tableau d'objets avec une propriété url et revision. Ce tableau est parfois appelé "fichier manifeste de préchargement" :
import {precacheAndRoute} from 'workbox-precaching';
precacheAndRoute([
  {url: '/index.html', revision: '383676'},
  {url: '/styles/app.0c9a31.css', revision: null},
  {url: '/scripts/app.0d5770.js', revision: null},
  // ... other entries ...
]);
Cette liste fait référence à un ensemble d'URL, chacune ayant son propre élément de "révision" des informations.
Pour les deuxième et troisième objets de l'exemple ci-dessus, la propriété revision est
définie sur null. En effet, les informations de gestion des révisions se trouvent dans l'URL elle-même, ce qui est généralement une bonne pratique pour les composants statiques.
Le premier objet (/index.html) définit explicitement une propriété de révision, qui est
un hachage généré automatiquement
du contenu du fichier. Contrairement aux ressources JavaScript et CSS, les fichiers HTML ne peuvent généralement pas inclure d'informations de révision dans leurs URL. Sinon, les liens vers ces fichiers sur le Web seraient interrompus chaque fois que le contenu de la page changerait.
En transmettant une propriété de révision à precacheAndRoute(), Workbox peut savoir quand le fichier a changé et le mettre à jour en conséquence.
Workbox est fourni avec des outils permettant de générer cette liste:
- workbox-build: package de nœuds qui peut être utilisé dans une tâche gulp ou en tant que un script d'exécution npm.
- workbox-webpack-plugin: les utilisateurs de webpack peuvent utiliser ce plug-in.
- workbox-cli: notre CLI permet également de générer la liste des éléments et d'ajouter à votre service worker.
Demandes entrantes pour les fichiers en pré-cache
workbox-precaching manipule les requêtes réseau entrantes pour essayer de faire correspondre les fichiers pré-mis en cache. Cela tient compte des pratiques courantes sur le Web.
Par exemple, une requête pour / peut généralement être satisfaite par le fichier situé à l'adresse
/index.html
Vous trouverez ci-dessous la liste des manipulations effectuées par workbox-precaching par défaut,
et comment modifier ce comportement.
Ignorer les paramètres d'URL
Les requêtes avec des paramètres de recherche peuvent être modifiées pour supprimer des valeurs spécifiques ou toutes les valeurs.
Par défaut, les paramètres de recherche commençant par utm_ ou correspondant exactement à fbclid sont supprimés. Cela signifie qu'une requête pour /about.html?utm_campaign=abcd sera satisfaite par une entrée préchargée pour /about.html.
Vous pouvez ignorer un autre ensemble de paramètres de recherche à l'aide de ignoreURLParametersMatching :
import {precacheAndRoute} from 'workbox-precaching';
precacheAndRoute(
  [
    {url: '/index.html', revision: '383676'},
    {url: '/styles/app.0c9a31.css', revision: null},
    {url: '/scripts/app.0d5770.js', revision: null},
  ],
  {
    // Ignore all URL parameters.
    ignoreURLParametersMatching: [/.*/],
  }
);
Index de l'annuaire
Par défaut, les requêtes se terminant par un / sont mises en correspondance avec les entrées auxquelles un index.html est ajouté à la fin. Cela signifie qu'une requête entrante pour / peut être automatiquement traitée avec la mise en cache pré-cache
l'entrée /index.html.
Vous pouvez modifier ce paramètre ou le désactiver complètement en définissant directoryIndex:
import {precacheAndRoute} from 'workbox-precaching';
precacheAndRoute(
  [
    {url: '/index.html', revision: '383676'},
    {url: '/styles/app.0c9a31.css', revision: null},
    {url: '/scripts/app.0d5770.js', revision: null},
  ],
  {
    directoryIndex: null,
  }
);
URL propres
Si une requête ne correspond pas au précache, nous ajoutons .html à la fin pour que
"propre" URL (c'est-à-dire des URL "jolies"). Cela signifie qu'une requête comme /about sera gérée par l'entrée préchargée pour /about.html.
Vous pouvez désactiver ce comportement en définissant cleanUrls:
import {precacheAndRoute} from 'workbox-precaching';
precacheAndRoute([{url: '/about.html', revision: 'b79cd4'}], {
  cleanUrls: false,
});
Manipulations personnalisées
Si vous voulez définir des correspondances personnalisées entre les requêtes entrantes et les éléments mis en pré-cache,
Pour ce faire, utilisez l'option urlManipulation. Il doit s'agir d'un rappel
qui renvoie un tableau de correspondances possibles.
import {precacheAndRoute} from 'workbox-precaching';
precacheAndRoute(
  [
    {url: '/index.html', revision: '383676'},
    {url: '/styles/app.0c9a31.css', revision: null},
    {url: '/scripts/app.0d5770.js', revision: null},
  ],
  {
    urlManipulation: ({url}) => {
      // Your logic goes here...
      return [alteredUrlOption1, alteredUrlOption2];
    },
  }
);
Utilisation avancée
Utiliser directement PrecacheController
Par défaut, workbox-precaching configure les écouteurs install et activate pour vous.
Pour les développeurs qui connaissent bien les service workers, cette approche n'est pas toujours souhaitable si vous avez besoin de davantage de contrôle.
Au lieu d'utiliser l'exportation par défaut, vous pouvez utiliser
PrecacheController
pour ajouter des éléments au précache,
déterminer quand ils sont installés et
quand le nettoyage doit avoir lieu.
import {PrecacheController} from 'workbox-precaching';
const precacheController = new PrecacheController();
precacheController.addToCacheList([
  {url: '/styles/example-1.abcd.css', revision: null},
  {url: '/styles/example-2.1234.css', revision: null},
  {url: '/scripts/example-1.abcd.js', revision: null},
  {url: '/scripts/example-2.1234.js', revision: null},
]);
precacheController.addToCacheList([{
  url: '/index.html',
  revision: 'abcd',
}, {
  url: '/about.html',
  revision: '1234',
}]);
self.addEventListener('install', (event) => {
  // Passing in event is required in Workbox v6+
  event.waitUntil(precacheController.install(event));
});
self.addEventListener('activate', (event) => {
  // Passing in event is required in Workbox v6+
  event.waitUntil(precacheController.activate(event));
});
self.addEventListener('fetch', (event) => {
  const cacheKey = precacheController.getCacheKeyForURL(event.request.url);
  event.respondWith(caches.match(cacheKey).then(...));
});
Lire directement des éléments préchargés
Il peut arriver que vous deviez lire directement un composant pré-mis en cache, en dehors du contexte du routage que workbox-precaching peut effectuer automatiquement.
Par exemple, vous pouvez pré-cacher des modèles HTML partiels qui doivent ensuite être récupérés et utilisés lors de la création d'une réponse complète.
En règle générale, vous pouvez utiliser l'API Cache Storage pour obtenir les objets Response pré-mis en cache, mais il existe un problème : la clé de cache d'URL à utiliser lors de l'appel de cache.match() peut contenir un paramètre de gestion des versions que workbox-precaching crée et gère automatiquement.
Pour obtenir la clé de cache appropriée, vous pouvez appeler
getCacheKeyForURL(),
en transmettant l'URL d'origine, puis d'utiliser le résultat
cache.match() sur le cache approprié.
import {cacheNames} from 'workbox-core';
import {getCacheKeyForURL} from 'workbox-precaching';
const cache = await caches.open(cacheNames.precache);
const response = await cache.match(getCacheKeyForURL('/precached-file.html'));
Si vous n'avez besoin que de l'objet Response en pré-cache, vous pouvez appeler
matchPrecache()
qui utilise automatiquement la bonne clé de cache
et recherche dans la bonne
cache:
import {matchPrecache} from 'workbox-precaching';
const response = await matchPrecache('/precached-file.html');
Nettoyer les anciens précaches
La plupart des versions de Workbox conservent le même format pour stocker les données préchargées, et les précaches créés par les anciennes versions de Workbox peuvent normalement être utilisés tels quels par les versions plus récentes. Toutefois, il y a rarement une modification destructive de la mise en cache préalable du stockage qui oblige les utilisateurs existants à tout télécharger à nouveau données précédemment mises en cache en pré-cache sont obsolètes. (Un tel changement s'est produit entre Workbox v3 et v4.)
Ces données obsolètes ne devraient pas interférer avec les opérations normales, mais elles contribuent à l'utilisation de votre quota de stockage global. Il peut être plus pratique pour vos utilisateurs de les supprimer explicitement. Pour ce faire, 
vous pouvez ajouter
cleanupOutdatedCaches()
à votre service worker, ou en définissant cleanupOutdatedCaches: true si vous utilisez
l'un des outils de compilation de Workbox
pour générer votre service worker.
Utiliser l'intégrité des sous-ressources
Certains développeurs voudront peut-être bénéficier des garanties supplémentaires offertes par intégrité des sous-ressources lors de la récupération d'URL en pré-cache sur le réseau.
Une propriété facultative supplémentaire appelée integrity peut être ajoutée à toute entrée de
le fichier manifeste de mise en cache préalable. S'il est fourni, il sera utilisé comme
Valeur de integrity
lors de la construction du Request utilisé pour remplir le cache. S'il y a un
le processus de mise en cache préalable échouera.
Déterminer quelles entrées du fichier manifeste de mise en cache doivent avoir des propriétés integrity
et la détermination des valeurs appropriées à utiliser, est en dehors du cadre
Outils de compilation de Workbox Les développeurs qui souhaitent l'activer
doit modifier le fichier manifeste de mise en cache préalable généré par Workbox pour ajouter
dans les informations
appropriées. L'option manifestTransform dans la boîte de dialogue
la configuration d'outils de compilation peut vous aider à:
const ssri = require('ssri');
const integrityManifestTransform = (originalManifest, compilation) => {
  const warnings = [];
  const manifest = originalManifest.map(entry => {
    // If some criteria match:
    if (entry.url.startsWith('...')) {
      // This has to be a synchronous function call, for example:
      // compilation will be set when using workbox-webpack-plugin.
      // When using workbox-build directly, you can read the file's
      // contents from disk using, e.g., the fs module.
      const asset = compilation.getAsset(entry.url);
      entry.integrity = ssri.fromData(asset.source.source()).toString();
      // Push a message to warnings if needed.
    }
    return entry;
  });
  return {warnings, manifest};
};
// Then add manifestTransform: [integrityManifestTransform]
// to your Workbox build configuration.
Types
CleanupResult
Propriétés
- 
    deletedCacheRequestschaîne[] 
InstallResult
Propriétés
- 
    notUpdatedURLschaîne[] 
- 
    updatedURLschaîne[] 
PrecacheController
Effectue un préchargement efficace des composants.
Propriétés
- 
    constructorvide Créez un PrecacheController. La fonction constructorse présente comme suit:(options?: PrecacheControllerOptions) => {...} - 
    optionsPrecacheControllerOptions facultatif 
 - 
            retours
 
- 
    
- 
    stratégieStratégie 
- 
    activervide Supprime les éléments qui ne figurent plus dans le fichier manifeste de préchargement actuel. Appelez cette méthode à partir de l'événement d'activation du service worker. Remarque : cette méthode appelle event.waitUntil()à votre place. Vous n'avez donc pas besoin de l'appeler vous-même dans vos gestionnaires d'événements.La fonction activatese présente comme suit:(event: ExtendableEvent) => {...} - 
    événementExtendableEvent 
 - 
            retoursPromise<CleanupResult> 
 
- 
    
- 
    addToCacheListvide Cette méthode permet d'ajouter des éléments à la liste en pré-cache, en supprimant les doublons et de s'assurer que les informations sont valides. La fonction addToCacheListse présente comme suit:(entries: (string | PrecacheEntry)[]) => {...} - 
    entries(chaîne | PrecacheEntry)[] Tableau d'entrées à mettre en pré-cache. 
 
- 
    
- 
    createHandlerBoundToURLvide Renvoie une fonction qui recherche urldans le précache (en tenant compte les informations de révision du compte), puis renvoie leResponsecorrespondant.La fonction createHandlerBoundToURLse présente comme suit:(url: string) => {...} - 
    urlchaîne URL préchargée qui sera utilisée pour rechercher le Response.
 - 
            retours
 
- 
    
- 
    getCacheKeyForURLvide Renvoie la clé de cache utilisée pour stocker une URL donnée. Si cette URL est sans version, comme `/index.html', la clé de cache sera la clé d'origine URL avec un paramètre de recherche ajouté. La fonction getCacheKeyForURLse présente comme suit:(url: string) => {...} - 
    urlchaîne URL dont vous souhaitez rechercher la clé de cache. 
 - 
            retourschaîne URL avec gestion des versions qui correspond à une clé de cache pour l'URL d'origine, ou n'est pas défini si cette URL n'est pas mise en pré-cache. 
 
- 
    
- 
    getCachedURLsvide Renvoie une liste de toutes les URL qui ont été mises en pré-cache par la un service worker. La fonction getCachedURLsse présente comme suit :() => {...}- 
            retourschaîne[] URL mises en pré-cache 
 
- 
            
- 
    getIntegrityForCacheKeyvide La fonction getIntegrityForCacheKeyse présente comme suit:(cacheKey: string) => {...} - 
    cacheKeychaîne 
 - 
            retourschaîne Intégrité de la sous-ressource associée à la clé de cache, ou valeur non définie si elle n'est pas définie. 
 
- 
    
- 
    getURLsToCacheKeysvide Renvoie un mappage d'une URL prémise en cache à la clé de cache correspondante, en tenant compte des informations de révision de l'URL. La fonction getURLsToCacheKeysse présente comme suit:() => {...}- 
            retoursMap<stringstring> URL permettant de mettre en cache le mappage des clés. 
 
- 
            
- 
    installervide Précharge les éléments nouveaux et mis à jour. Appelez cette méthode à partir de l'événement d'installation du service worker. Remarque : cette méthode appelle event.waitUntil()à votre place. Vous n'avez donc pas besoin de l'appeler vous-même dans vos gestionnaires d'événements.La fonction installse présente comme suit:(event: ExtendableEvent) => {...} - 
    événementExtendableEvent 
 - 
            retoursPromise<InstallResult> 
 
- 
    
- 
    matchPrecachevide Il s'agit d'un remplacement direct de cache.match(), avec les différences suivantes :- Il connaît le nom du précache et vérifie uniquement dans ce cache.
- Il vous permet de transmettre une URL "originale" sans paramètres de gestion des versions. Il recherche automatiquement la clé de cache appropriée pour la version actuellement active de cette URL.
 Exemple : matchPrecache('index.html')trouvera le bon fichier en pré-cache pour le service worker actuellement actif, même si le cache est'/index.html?__WB_REVISION__=1234abcd'.La fonction matchPrecachese présente comme suit:(request: string | Request) => {...} - 
    requestchaîne | Requête Clé (sans paramètres de révision) à rechercher dans le précache. 
 - 
            retoursPromise<Response> 
 
- 
    mise en cache préalablevide Ajoute des éléments à la liste de préchargement, supprime les doublons et stocke les fichiers dans le cache lorsque le worker de service s'installe. Cette méthode peut être appelée plusieurs fois. La fonction precachese présente comme suit:(entries: (string | PrecacheEntry)[]) => {...} - 
    entries(chaîne | PrecacheEntry)[] 
 
- 
    
PrecacheEntry
Propriétés
- 
    intégritéchaîne facultatif 
- 
    Révisionchaîne facultatif 
- 
    urlchaîne 
PrecacheFallbackPlugin
PrecacheFallbackPlugin vous permet de spécifier une réponse de "recours hors connexion" à utiliser lorsqu'une stratégie donnée ne parvient pas à générer de réponse.
Pour ce faire, il intercepte le rappel du plug-in handlerDidError.
et en renvoyant une réponse mise en pré-cache avec le paramètre de révision attendu.
automatiquement en compte.
Sauf si vous transmettez explicitement une instance PrecacheController à la
, l'instance par défaut sera utilisée. De manière générale, la plupart
les développeurs utiliseront
la valeur par défaut.
Propriétés
- 
    constructorvide Construit un nouveau PrecacheFallbackPlugin avec l'URL de remplacement associée. La fonction constructorse présente comme suit :(config: object) => {...} - 
    configobjet - 
    URL de remplacementchaîne URL pré-mise en cache à utiliser comme solution de secours si la stratégie associée ne peut pas générer de réponse. 
- 
    precacheControllerPrecacheController facultatif 
 
- 
    
 - 
            retours
 
- 
    
PrecacheRoute
Une sous-classe de workbox-routing.Route qui accepte un
workbox-precaching.PrecacheController
et l'utilise pour identifier les requêtes entrantes et gérer la récupération
des réponses de la pré-cache.
Propriétés
- 
    constructorvide La fonction constructorse présente comme suit :(precacheController: PrecacheController, options?: PrecacheRouteOptions) => {...} - 
    precacheControllerInstance PrecacheControllerutilisée à la fois pour mettre en correspondance les requêtes et répondre aux événements de récupération.
- 
    optionsPrecacheRouteOptions facultatif 
 - 
            retours
 
- 
    
- 
    catchHandlerRouteHandlerObject facultatif 
- 
    handler
- 
    correspondance
- 
    methodHTTPMethod 
- 
    setCatchHandlervide La fonction setCatchHandlerse présente comme suit :(handler: RouteHandler) => {...} - 
    handlerUne fonction de rappel qui renvoie une promesse résolue en réponse 
 
- 
    
PrecacheRouteOptions
Propriétés
- 
    cleanURLsBooléen facultatif 
- 
    directoryIndexchaîne facultatif 
- 
    ignoreURLParametersMatchingRegExp[] facultatif 
- 
    urlManipulationurlManipulation facultatif 
PrecacheStrategy
Une implémentation de workbox-strategies.Strategy
spécialement conçu pour fonctionner
workbox-precaching.PrecacheController
pour mettre en cache et récupérer les éléments mis en pré-cache.
Remarque: Une instance de cette classe est créée automatiquement lors de la création d'un
PrecacheController; il n'est généralement pas nécessaire
de la créer vous-même.
Propriétés
- 
    constructorvide La fonction constructorse présente comme suit:(options?: PrecacheStrategyOptions) => {...} - 
    optionsPrecacheStrategyOptions facultatif 
 - 
            retours
 
- 
    
- 
    cacheNamechaîne 
- 
    fetchOptionsRequestInit facultatif 
- 
    matchOptionsCacheQueryOptions facultatif 
- 
    plugins
- 
    copyRedirectedCacheableResponsesPlugin
- 
    defaultPrecacheCacheabilityPlugin
- 
    _awaitCompletevide La fonction _awaitCompletese présente comme suit :(responseDone: Promise<Response>, handler: StrategyHandler, request: Request, event: ExtendableEvent) => {...} - 
    responseDonePromise<Response> 
- 
    handler
- 
    requestRequête 
- 
    événementExtendableEvent 
 - 
            retoursPromesse<void> 
 
- 
    
- 
    _getResponsevide La fonction _getResponsese présente comme suit :(handler: StrategyHandler, request: Request, event: ExtendableEvent) => {...} - 
    handler
- 
    requestRequête 
- 
    événementExtendableEvent 
 - 
            retoursPromise<Response> 
 
- 
    
- 
    _handleFetchvide La fonction _handleFetchse présente comme suit :(request: Request, handler: StrategyHandler) => {...} - 
    requestRequête 
- 
    handler
 - 
            retoursPromise<Response> 
 
- 
    
- 
    _handleInstallvide La fonction _handleInstallse présente comme suit:(request: Request, handler: StrategyHandler) => {...} - 
    requestRequête 
- 
    handler
 - 
            retoursPromise<Response> 
 
- 
    
- 
    handlevide Effectue une stratégie de requête et renvoie un Promisequi se résout avec unResponse, en appelant tous les rappels de plug-in pertinents.Lorsqu'une instance de stratégie est enregistrée avec un workbox-routing.RouteWorkbox, cette méthode est automatiquement appelée lorsque le parcours correspond.Vous pouvez également utiliser cette méthode dans un FetchEventautonome. en le transmettant àevent.respondWith().La fonction handlese présente comme suit:(options: FetchEvent | HandlerCallbackOptions) => {...} - 
    optionsFetchEvent | HandlerCallbackOptions Un FetchEventou un objet avec les propriétés listées ci-dessous.
 - 
            retoursPromise<Réponse> 
 
- 
    
- 
    handleAllvide Semblable à workbox-strategies.Strategy~handle, mais Au lieu de simplement renvoyer unPromisequi se résout enResponse, il renvoie un tuple de promesses[response, done], où l'ancienne (response) équivaut à ce que renvoiehandle(). Cette valeur est une Une promesse qui se résoudra une fois les promesses ajoutées àevent.waitUntil()dans le cadre de l'exécution de la stratégie sont terminés.Vous pouvez attendre la promesse donepour vous assurer que tout travail supplémentaire effectué par la stratégie (généralement la mise en cache des réponses) se termine correctement.La fonction handleAllse présente comme suit :(options: FetchEvent | HandlerCallbackOptions) => {...} - 
    optionsFetchEvent | HandlerCallbackOptions Un FetchEventou un objet avec les propriétés listées ci-dessous.
 - 
            retours[Promise<Response>, Promise<void>] Un tuple de promesses [response, done] qui peut être utilisé pour déterminer quand la réponse se résout et quand le gestionnaire a terminé tout son travail. 
 
- 
    
urlManipulation()
workbox-precaching.urlManipulation(
{ url }: object,
): URL[]
Type
fonction
Paramètres
- 
    { url }objet - 
    urlURL 
 
- 
    
Renvoie
- 
            URL[] 
Méthodes
addPlugins()
workbox-precaching.addPlugins(
plugins: WorkboxPlugin[],
): void
Ajoute des plug-ins à la stratégie de mise en cache préalable.
Paramètres
- 
    plugins
addRoute()
workbox-precaching.addRoute(
options?: PrecacheRouteOptions,
): void
Ajoutez un écouteur fetch au service worker qui exécutera
répondre à
[requêtes réseau]https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers#Custom_responses_to_requests
avec les éléments en pré-cache.
Les requêtes d'éléments qui ne sont pas pré-mis en cache ne seront pas traitées par FetchEvent, ce qui permet à l'événement de passer à d'autres écouteurs d'événements fetch.
Paramètres
- 
    optionsPrecacheRouteOptions facultatif 
cleanupOutdatedCaches()
workbox-precaching.cleanupOutdatedCaches(): void
Ajoute un écouteur d'événements activate qui nettoiera les précaches incompatibles créés par les anciennes versions de Workbox.
createHandlerBoundToURL()
workbox-precaching.createHandlerBoundToURL(
url: string,
): RouteHandlerCallback
Fonction d'assistance qui appelle PrecacheController#createHandlerBoundToURL sur l'instance PrecacheController par défaut.
Si vous créez votre propre PrecacheController, appelez PrecacheController#createHandlerBoundToURL sur cette instance plutôt que d'utiliser cette fonction.
Paramètres
- 
    urlchaîne L'URL en pré-cache qui sera utilisée pour rechercher Response
Renvoie
getCacheKeyForURL()
workbox-precaching.getCacheKeyForURL(
url: string,
): string | undefined
Prend une URL et renvoie l'URL correspondante qui pourrait être utilisée pour rechercher l'entrée dans le précache.
Si une URL relative est fournie, l'emplacement du fichier de service worker est servir de base.
Pour les entrées mises en pré-cache sans informations de révision, la clé de cache est la clé identique à l'URL d'origine.
Pour les entrées pré-cachées contenant des informations de révision, la clé de cache correspond à l'URL d'origine, avec l'ajout d'un paramètre de requête utilisé pour suivre les informations de révision.
Paramètres
- 
    urlchaîne URL dont vous souhaitez rechercher la clé de cache. 
Renvoie
- 
            chaîne | undefined Clé de cache correspondant à cette URL. 
matchPrecache()
workbox-precaching.matchPrecache(
request: string | Request,
): Promise<Response | undefined>
Fonction d'assistance qui appelle PrecacheController#matchPrecache sur l'instance PrecacheController par défaut.
Si vous créez votre propre PrecacheController, appelez PrecacheController#matchPrecache sur cette instance plutôt que d'utiliser cette fonction.
Paramètres
- 
    requestchaîne | Requête La clé (sans les paramètres de révision) à rechercher dans le précache. 
Renvoie
- 
            Promise<Réponse | indéfini> 
precache()
workbox-precaching.precache(
entries: (string | PrecacheEntry)[],
): void
Ajoute des éléments à la liste de préchargement, supprime les doublons et stocke les fichiers dans le cache "lorsque le worker de service s'installe.
Cette méthode peut être appelée plusieurs fois.
Remarque : Cette méthode ne sert pas les fichiers mis en cache.
Il ne précache que les fichiers. Pour répondre à une requête réseau, vous appelez
workbox-precaching.addRoute
Si vous avez un seul tableau de fichiers à pré-cacher, vous pouvez simplement appeler workbox-precaching.precacheAndRoute.
Paramètres
- 
    entries(chaîne | PrecacheEntry)[] 
precacheAndRoute()
workbox-precaching.precacheAndRoute(
entries: (string | PrecacheEntry)[],
options?: PrecacheRouteOptions,
): void
Cette méthode ajoutera des entrées à la liste de pré-cache et un itinéraire vers pour répondre aux événements d'extraction.
Il s'agit d'une méthode pratique qui appelle
workbox-precaching.precache et
workbox-precaching.addRoute dans un même appel.
Paramètres
- 
    entries(chaîne | PrecacheEntry)[] Tableau d'entrées à précacher. 
- 
    optionsPrecacheRouteOptions facultatif