2013-03-19 5 views
13

Ich bin auf Chrome Dev 27 und in den Dev Tools-Einstellungen aktiviert Cache deaktivieren. Wenn ich eine Seite neu lade, lädt Chrome alle Ressourcen neu, die von der Kartenseite verwendet werden, einschließlich der Dateien .js. Die entsprechende source maps.map wird jedoch nicht automatisch neu geladen. Wenn ich den HTTP-Verkehr zwischen Chrome und meiner App beim nächsten Laden der Seite beobachte, sehe ich keine Anfrage von Chrome für die .map Dateien. Wie kann ich Chrome dazu bringen, die Quellkarten neu zu laden?Wie bekomme ich Chrome, um Quellkarten neu zu laden?

Das Problem mit Chrome die .map Datei nicht neu geladen ist, dass es auch die Datei nicht neu geladen, von dem die .js erzeugt wurde, was in meinem Fall passiert eine Coffeescript-Datei (.coffee) zu sein, was bedeutet, dass beim Debuggen, in der Quellen Registerkarte Ich sehe eine alte Version der .coffee Datei, auch wenn der neue Code (von der .js) läuft.

Antwort

21

Ich hatte das gleiche Problem gerade heute. Die Wartezeit, um es für mich zu lösen, war die Registerkarte der Kaffee-Datei unter Quellen zu schließen, auf die Registerkarte Netzwerk zu gehen, klicken Sie mit der rechten Maustaste und wählen Sie "Browser-Cache löschen"

Dies repariert es für mich.

Das heißt, die gemappten Dateien werden nicht immer im Cache für mich "hängen" ... Nur manchmal, und wenn sie dies tun, behebt der klare Cache-Trick es.

+0

Das funktionierte auch für mich. Danke @Philip – Zander

+0

Funktioniert auch, wenn TypeScript-Dateien (* .ts) in Chrome nicht aktualisiert werden. Danke dafür. – sboisse

+2

Ja .. es scheint manchmal stecken zu bleiben ...2 Jahre später das gleiche Problem mit TypeScript und VisualStudio .... Dies sollte die Antwort sein, da es hilft, das stecken gebliebene Cache-Problem zu lösen – ppumkin

0

Genau das gleiche Problem hatte und fand einige zusätzliche Lösungen:

Nach dieser commit und dieser bug report für Chrom, ist das Problem gelöst und nicht einer der nächsten baut beeinflussen sollte.

Ein wenig einfachere Lösung für dieses Problem als die gesamten Browser-Cache gelöscht werden:

öffnen Sie die Quelle Karte in einem Browser-Tab und tut einen harten reload (je nach Betriebssystem, versucht CTRL + F5) . Dies aktualisiert die Datei und hält den Browser-Cache.

Ein alternativer Weg und vielleicht eine gute Vorgehensweise ist es, die Quellkartengenerierung zu hacken, indem man einen Parameter wie ?build=12345 hinzufügt. Sehen Sie in Ihrem Build-Tool nach, wie Sie den Dateinamen der Quellkarte manipulieren können.

Wenn Sie Zugriff auf die Serverkonfiguration oder eine .htaccess haben, können Sie die Kopfzeile Cache-Control: no-cache für die Quellkartenerweiterung wie '.js.map' festlegen.

1

Zum Einstellungen -> Erweiterte Einstellungen anzeigen -> Daten löschen -> Überprüfen Sie nur „zwischengespeicherten Bilder und Dateien“ -> Klicken Sie auf „Private Daten löschen“

Dies wird die Quelle löschen Karten, die Sie in den Cache gespeichert haben Browser, ohne alle Cookies zu löschen.

+0

Hasse meine ganze Geschichte zu verlieren! – madannes

+0

Wie geht das oben Ihre Geschichte zu verlieren, @ Madannes? – Arjan

+0

Entschuldigung .. hätte klarer sein sollen. Ich meine, ich mag diese Antwort besser, weil ich es hasse, * all * meine Geschichte zu verlieren, wie es mit "Clear Browser Cache" passieren würde. Schade, ich kann nicht sehen, wie ich meinen vorherigen Kommentar bearbeiten =) – madannes

0

Ich löste das Problem von Löschen der Map-Datei und Durchführen eines Hard-Reload (CTRL-F5).

Ich wollte nicht meine ganze Geschichte verlieren!

Verwandte Themen