2017-06-06 2 views
1

J'ai une petite question.sw-precache, fichiers cache avec URL Paramètres

Je construis un PWA avec le polymère et Phare rapports, qui ne sont pas mises en cache par le ServiceWorkerstart_url de manifeste.

Depuis que je veux suivre les utilisateurs, qui utilisent le « Ajouter à l'écran d'accueil » fonction, mon manifest.json contient

"start_url": "index.html?homescreen=1",

J'ai essayé de mettre cette chaîne exacte dans mon sw-precache fichier de configuration, mais le Le script génère un ServiceWorker qui met simplement en cache le fichier index.html. (Je suis conscient, c'est un peu redondant pour mettre en cache index.html & index.html? Homescreen = 1)

Avez-vous une idée, comment résoudre ce problème?

Merci!

Répondre

2

Le ignoreUrlParametersMatching option est sw-precache peut vous aider.

Par défaut, il est mis à [/^utm_/], ce qui signifie que si vous avez configuré votre application Web Manifest comme

{ 
    "start_url": "index.html?utm_source=homescreen" 
} 

alors les choses devraient fonctionner comme prévu. Si vous souhaitez conserver cette valeur ?homescreen=1, vous pouvez modifier le paramètre ignoreUrlParametersMatching en [/^homescreen/] lors de la génération de votre service worker.

+0

C'était une très bonne réponse! Avez-vous une idée, comment mettre en cache des routes, comme 'start_url: '/ about? Utm_source = homescreen' qui résoudrait dans un fichier de vue situé'/src/views/about-view.html'? –

+0

Non, je ne suis pas sûr de ça. –

+0

Est-il possible d'ajouter une telle règle à une application créée avec [create-react-app] (https://github.com/facebookincubator/create-react-app) boilerplate sans éjecter? –