caching - start - gulp modules



Cache busting: aggiungi una stringa di query o rinomina il file? (1)

Dopo giorni di ricerche, ho trovato qualcosa di interessante per la soluzione stringa di query ( assets/file.ext?v=123abc ):

Se utilizziamo CDN per la gestione di asset statici, le pagine dinamiche e le risorse statiche sono ospitate separatamente. Una volta che vogliamo pubblicare una nuova versione dell'app, il conflitto si verifica: quale parte delle risorse deve essere prima aggiornata?

  1. Prima le pagine Se gli utenti visitano il tuo sito subito dopo aver aggiornato le pagine dinamiche, le risorse puntano a nuove versioni, ad esempio assets/file.ext?v=456def , quindi i browser scaricano vecchi asset e li memorizzano nella cache come nuova versione, sfortunatamente quegli utenti non otterranno mai il risorse giuste

  2. Prima le risorse. Supponendo che ci siano nuovi utenti che visitano il tuo sito subito dopo la pubblicazione della nuova versione delle risorse, la vecchia pagina e i nuovi script, aha! Potrebbero esserci degli errori mortali e il tuo sito diventerà boooooom!

Ecco quindi la soluzione per rinominare i file ( assets/file.123abc.ext ). Diverse versioni dei file hanno un nome diverso, quindi non si sovrascriveranno l'un l'altro . Quindi prima abbiamo aggiornato le risorse, poi le pagine, tutto va come previsto, woohoo!

Per maggiori dettagli leggi questo articolo (cinese): https://www.zhihu.com/question/20790576/answer/32602154

Quando proviamo a eliminare le cache delle risorse statiche, ci sono due modi comuni per farlo:

  1. assets/file.ext?v=123abc stringa di query come assets/file.ext?v=123abc

  2. assets/file.123abc.ext file come assets/file.123abc.ext

Tuttavia, dopo giorni di ricerche, ho scoperto che la maggior parte degli strumenti di costruzione preferisce rinominare i file, ad es. Gulp-rev . A mio avviso questo tipo di revisione genera molti blocchi di file sul server:

assets
 |_ file.a.ext
 |_ file.b.ext
 |_ file.c.ext
 |_ file.d.ext
 |...

Qualche idea su questo?





frontend