Ich bin ziemlich neu zu Laravel 5.0, aber nicht zu PHP. Ich habe mit Elixir herumgespielt, um meine SASS zu kompilieren, Bilder aus meinem Ressourcenverzeichnis zu kopieren und sie über die Funktion mix.version
auszuführen, um Zwischenspeichern zu verhindern.Cache-Busting-Bilder, die in SASS-Dateien verknüpft sind
Dies funktioniert jedoch hervorragend für CSS, Bilder und JavaScript; ist es möglich, dass Elixir auch die in meiner CSS/SASS verlinkten Bilder cachebastet? Sicher, es ist einfach genug, die Bilder zu versionieren, aber gibt es eine Möglichkeit, das CSS so anzupassen, dass es die neuen Dateinamen wiedergibt?
Ich entdeckte dies: https://github.com/trentearl/gulp-css-url-adjuster , die Sie einen Abfrageparameter an die Dateipfade in einer CSS-Datei anhängen können, so dass die Hälfte des Problems gelöst ist. Ich würde mich sehr freuen, dies zu verwenden, wenn es möglich wäre, den Abfrageparameter jedes Mal automatisch zu ändern, wenn der Schluck ausgeführt wird.
Irgendwelche Gedanken darüber, wie dies erreicht werden kann, oder wenn es überhaupt möglich ist?
Die Gründe, warum ich das tun möchte, ist, ich entwickle ständig meine App und ich benutze ein großes Sprite-Blatt, das oft neu angeordnet wird, Cache-Busting ist eine Voraussetzung, und wenn es automatisch sein könnte, wenn Schluck läuft würde das sparen Ich habe viel Zeit und Mühe.
Dank
Es wäre besser, den Pfad zu ändern, anstatt eine Abfragezeichenfolge zu verwenden, und den Pfad auf dem Webserver neu zu schreiben. – Hades
Wie wäre das besser? Browser behandeln Abfrageparameter ohnehin als eine andere URL. Das Ändern des Pfades und das Neuschreiben über den Server erzeugt eine zusätzliche Komplikationsstufe, die mit Sass alleine nicht erreicht werden kann. – AJReading
Die Query-String-Methode ist nicht die am besten akzeptierte Methode für Cache-Busting und kann unter bestimmten Umständen fehlschlagen. Einige Browser sehen keine andere Abfragezeichenfolge als eine andere Datei und einige Software (ich habe gehört: Squid) werden keine Dateien mit Abfragezeichenfolge zwischenspeichern. Mit der Query-String-Methode verhindern Sie auch, dass Web-Server wie IIS ETag-Header bereitstellen, die es den Browsern ermöglichen, nach der Cache-Gültigkeit zu suchen, anstatt sich ausschließlich auf Ablaufdatum/-zeiten zu verlassen. – Hades