2017-10-10 4 views
2

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 d'inclure celui-ci (ou tout autre identifiant unique) dans les en-têtes afin que le navigateur puisse comparer à ce qu'il contient dans le stockage local ou le cache? J'ai regardé les docs Firebase Deploying ainsi que Full config, mais il n'y a aucune mention sur la façon d'accéder aux métadonnées de l'hébergement comme le dernier temps de déploiement.Hébergement Firebase - forcer le navigateur à réinitialiser le cache sur les nouveaux déploiements?

La définition d'une valeur Cache-Control à max-age=[any number] ne semble pas idéale, car elle ne tient pas compte du prochain déploiement (ce qui peut être inconnu à l'origine, sauf s'il existe des planifications régulières).

Répondre

5

Je l'ai compris. A dû mettre à jour le fichier firebase.json selon this Github comment:

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