2017-05-19 1 views
0

Ich benutze Hash, um den JS-Dateinamen zu generieren, wenn ich die Bereitstellung ausführen. Der Browser aktualisiert den Cache jedoch nicht. (Nach der Bereitstellung muss ich Kunden bitten, den Cache löschen und aktualisieren Sie die Seite)React App - Chrome Disk Cache JS-Datei

In Registerkarte Netzwerk lädt er die main.f1e0597b.js enter image description here

Aber in der Seite Quelle die Datei andere, Haupt .52031433.js (der richtige). enter image description here

Warum passiert das?

+0

Sind Sie absolut sicher, welche Datei die Seite geladen wird? –

+0

Vielleicht überprüfen Sie die Netzwerkanforderung für die. HTML-Seite, um sicherzustellen, dass es so kommt. –

+0

In der Netzwerk-Registerkarte ist die HTML-Datei anders als angezeigt wird, wenn ich auf "siehe Seite Quelle" klicken .... Wenn ich clear der Cache die Seite funktioniert ok. Das Problem besteht jedoch darin, dies nach jeder Bereitstellung zu tun. –

Antwort

1

Ich habe das Problem gefunden. Ich übergebe einen Expire-Header an HTML-Dateien, wenn ich mit meinem as3-Bucket synchronisiere.

Problem:

aws s3 sync $folder s3://$bucket --exclude '*.js' --exclude '*.css' --acl public-read --expires '2018-06-14T00:00:00Z' 

Richtig:

aws s3 sync $folder s3://$bucket --exclude '*.js' --exclude '*.css' --acl public-read