25

Chrome workspaces: supponiamo che mappo i file CSS locali a quelli serviti dal mio server http locale. Tutto funziona alla grande e posso modificare i file nel browser e all'aggiornamento della pagina le mie modifiche persistono.Aree di lavoro di Chrome con risorse impronte digitali

Ci capita di impronte digitali delle nostre risorse in modo che vengano referenziate tramite url come styles.css?longuniquehash. Ottima pratica: in questo modo possiamo usare il caching aggressivo e accertarci che le risorse più recenti siano utilizzate dal cliente.

Tuttavia, questo si ritorce un po 'con gli spazi di lavoro in quanto i mapping si perdono ogni volta che l'url viene aggiornato. In poche parole: mappiamo styles.css?123 alla risorsa locale, lo cambiamo e sulla pagina l'aggiornamento ritorna come styles.css?234 che deve essere mappato di nuovo.

Stiamo usando cassette, ma il problema può essere riprodotto su qualsiasi configurazione con impronte digitali. C'è un'impostazione o una soluzione che mi manca?

+4

Si può provare a giocare con http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/ Tuttavia, non è supportato da cassette - il problema è ancora in stato aperto. Potrebbe anche valere la pena esaminare l'estensione chrome chrome - ad es. riscrivendo gli URL prima che vengano richiesti .. – bushed

+0

@bushed: hmm, buon punto, non ho pensato di usare le sourcemaps per i CSS in questo scenario (forse meno/sass)! –

risposta

-1

Suppongo che tu non sviluppi sul tuo server live (e se lo fai fermati e sviluppi sul tuo computer locale o almeno su un server di test) così attivi il "cache buster" solo sul tuo ambiente live. Abbiamo sempre un modo rapido per verificare l'ambiente in cui stiamo lavorando su tutti i nostri progetti, quindi basta controllare prima di aggiungere la query "? 123". Io non quello di risolvere questo codice è possibile anche aggiungere questo nei vostri htacces (se si utilizza Apache)

SetEnvIf Host 'local.domain.com' runenv=local 

RewriteCond %{ENV:runenv} ^local$ 
RewriteCond %{REQUEST_URI} .*\.css 
RewriteCond %{QUERY_STRING} !^$ 
RewriteRule ^(.*)$ /$1? [R=301,L] 
1

Secondo Chromium, il supporto per gli URL di mappatura con parametri di query (cioè style.css?123) è stato solo parziale fino a Chrome 49 - dove è stato rimosso completamente.

Se non è possibile rimuovere manualmente i parametri dal codice, una soluzione temporanea consiste nel rimuovere il parametro ?123 dal riferimento del foglio di stile in Chrome Inspector una volta caricata la pagina. Quindi la mappatura dell'area di lavoro e l'auto-aggiornamento dovrebbero funzionare bene finché non si carica nuovamente la pagina.

È possibile stella e seguire la questione qui: bugs.chromium.org

+0

Grazie per il collegamento, è utile! Cambiare il link href non funzionerebbe in questo scenario poiché la modifica avrebbe visto la risorsa ricaricata dal nuovo url e quell'url non sarebbe stato eliminato dalla cache. –

Problemi correlati