2015-12-21 11 views
6

Sto usando grunt per costruire un progetto javascript/angularjs nel seguente ordine:Come automatizzare l'incremento della versione di javascript se il file è cambiato?

clean copy > uglify > cssmin.

Ora se cambio un file js dovrei sempre aggiungere manualmente un incremento di versione alla fine del tag dello script, in modo che il browser possa rilevare le modifiche.

<script src="/js/myscript?v123"></script> 

Domanda: come posso automatizzare questo processo utilizzando grunt? Se eseguo il comando "grunt", solo i file modificati rispetto all'ultima esecuzione dovrebbero ottenere un incremento della versione. In modo che il browser possa riutilizzare il più possibile i file memorizzati nella cache.

+0

Si sta utilizzando un linguaggio lato server, o è semplice HTML? – Archer

+0

Sto usando 'angularjs', quindi' javascript, css, html'. – membersound

+0

Bene, buona fortuna. – Archer

risposta

2

So che le risposte brevi non sono OK (non è sufficiente un commento per commentare), ma è possibile effettuare il checkout grunt-asset-cachebuster. Non ho provato da solo ma ci sono molti esempi nella loro pagina di npm.

checkout Anche questa answer circa grunt-newer

+0

Il plugin aggiunge il timestamp a ogni file sulla compilazione. Voglio solo aggiungerlo ai file che hanno cambiato il confronto con l'ultima compilation. A parte questo sembra promettente. – membersound

+0

Ho trovato una domanda simile. Leggi questa risposta: http://stackoverflow.com/a/19722900/2620998 –