Angular4 immer erforderlich, dass Browser-Cache Reinigen
Ich habe eine web-Anwendung in einer Produktionsumgebung. Die Benutzer verwenden es jeden Tag, wenn ich ein update veröffentlichen, und ein Benutzer kommt zurück, um die web-Anwendung er/Sie Aussicht auf die alte version der web-Anwendung. Er aktualisieren muss der browser und laden Sie die neue version. Wie kann ich dieses problem lösen? Ich kann nicht sagen, Hunderte von Benutzern, die Seite zu aktualisieren, jedes mal wenn ich ein update veröffentlichen (3-4 mal in der Woche).
Ich habe folgende zu bauen, meine front-end-Anwendung : Angular4 mit Winkel-cli
- verwenden Sie webpack für die Veröffentlichung?
- verwenden Sie die --target=Produktion-flag, wenn mit ng bauen? Dies fügt ein cache-busting string an das Ende der bundle-Dateien
- Ich werde versuchen, diese. Darüber hinaus habe ich verwendet, Intervall-Methode zum aufrufen eines bestimmten Diensts. Ich habe dieses setup in ngOnInit () - Methode einer Komponente. Aber problem ist, es funktioniert nur wenn ich mit F12 die Schaltfläche browser.
- wenn Sie Winkel-cli und wenn Sie erstellen Produktions-build-Datei wird er automatisch erstellt bundle-Dateien mit unterschiedlichen Namen jeder Zeit.Sie müssen nur einige meta-tag in index.html so werden Sie browser-cache nicht uyour index.html Datei.dein problem ist behoben.
- Ist dieser Befehl "--target=Produktion" die für Sie arbeitet @Ashish chauhan
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der beste Weg, um clean browser-cache wäre die Verwendung von hashing zur build-Zeit. Befehl zum hinzufügen von hashing in eckigen cli-app ist
Erzeugen, build-Datei mit verschiedenen Namen jedes mal, wenn wir bauen.
Nur für den Fall, Sie nicht mit Winkel-cli können Sie erklären, Sie Komponente diese Art von cache-busting
Auch können wir einstellen, cache expire time in unserem nginx-server. führen Sie diesen Befehl
Bearbeiten config Datei & fügen Sie diese Zeile set cache-Einstellungen
dadurch setzen Sie expire Zeit, um 3 Tage. also der browser wird automatisch löschen Sie alle gespeicherten cache Ihres web-app - & download-frisches Exemplar.
build --out-hashing=all
aber ich habe immer noch verwenden Sie refresh ohne cache zur Anzeige von änderungen auf der website. Funktioniert das in der docker-container?Wie bereits in der Winkel-cli-docs, es gibt 2 Möglichkeiten der Aktivierung von cache-busting.
--output-hashing
option gegangen und hat--prod
dauert ewig (35 Sekunden vs 8 für nur aot)! Wünschte, es gäbe eine Möglichkeit, nur eine option zum hinzufügen einer zufälligen id.