web-dev-qa-db-fra.com

Hébergement Firebase - forcer le navigateur à réinitialiser le cache sur les nouveaux déploiements?

J'ai un site construit avec create-react-app et hébergé sur Firebase Hosting. Que puis-je faire pour spécifier que le cache du navigateur doit être mis à jour après de nouveaux déploiements, et idéalement uniquement pour les pages, les actifs et les feuilles de style qui ont été modifiés depuis le dernier déploiement?

Existe-t-il un moyen d'accéder à l'ID de déploiement et de l'inclure (ou tout autre identifiant unique) dans les en-têtes afin que le navigateur puisse comparer ce qu'il a dans le stockage local ou le cache et déterminer si une actualisation matérielle est nécessaire? J'ai regardé les documents Firebase Deploying ainsi que Full config mais il n'y a aucune mention sur la façon d'accéder aux métadonnées d'hébergement comme lors du dernier déploiement.

Définition d'un Cache-Control valeur à max-age=[any number] ne semble pas idéal car il ne tient pas compte du moment où le prochain déploiement aura lieu (ce qui peut être inconnu au départ, sauf en cas de planification régulière).

12
Pat Needham

Je l'ai compris. J'ai dû mettre à jour le firebase.json fichier selon ce commentaire Github :

{
  "hosting": {
    "headers": [
      { "source":"/service-worker.js", "headers": [{"key": "Cache-Control", "value": "no-cache"}] }
    ]
  }
}
26
Pat Needham