2015-12-21 1 views
6

Ich verwende grunt ein javascript/angularjs Projekt in der folgenden Reihenfolge zu bauen:Wie automatisiere Javascript Version Inkrement, wenn Datei geändert?

clean copy > uglify > cssmin.

Wenn ich jetzt eine js Datei ändere, müsste ich immer manuell ein Versionsinkrement am Ende des Skript-Tags hinzufügen, damit der Browser die Änderungen erkennen kann.

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

Frage: Wie kann ich diesen Prozess mit grunt automatisieren? Wenn ich den Befehl "grunt" ausführe, sollten nur Dateien, die sich im Vergleich zum letzten Lauf geändert haben, ein Versionsinkrement erhalten. Damit der Browser die zwischengespeicherten Dateien so gut wie möglich wiederverwenden kann.

+0

Sind Sie eine serverseitige Sprache, oder ist es klar, html? – Archer

+0

Ich benutze 'angularjs', also' javascript, css, html'. – membersound

+0

Gut - viel Glück. – Archer

Antwort

2

Ich weiß, kurze Antworten sind nicht in Ordnung (nicht genug rep zu kommentieren), aber Sie möchten möglicherweise zur Kasse gehen grunt-asset-cachebuster. Ich habe es nicht selbst ausprobiert, aber es gibt viele Beispiele auf ihrer Npm-Seite.

Auch Kasse diese answer über grunt-newer

+0

Das Plugin fügt jeder Datei bei der Kompilierung den Zeitstempel hinzu. Ich möchte nur Dateien hinzufügen, die sich im Vergleich zur letzten Übersetzung geändert haben. Abgesehen davon sieht es vielversprechend aus. – membersound

+0

Ich habe eine ähnliche Frage gefunden. Überprüfen Sie diese Antwort: http://StackOverflow.com/a/19722900/2620998 –