Netlify kümmert sich um die Cache-Invalidierung für Sie

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Das ist eine meiner Lieblingsfunktionen von Netlify. Sagen wir, Sie arbeiten an einer Website und ändern eine Asset-Datei wie CSS, JavaScript oder ein Bild. Wissen Sie, so machen wir eben unseren Job. Auf Netlify müssen Sie nicht darüber nachdenken, wie sich das auf Deployment, Browser und Cache auswirkt. Netlify erledigt das einfach für Sie.

Netlify nennt dies Instant Cache Invalidation, Teil des „Raketentreibstoffs“ von Netlify.

Bei allen Websites, an denen ich arbeite, die *nicht* auf Netlify laufen, muss ich *darüber* nachdenken (igitt). Wenn Sie sich den Quellcode dieser Website ansehen, sehen Sie einen Link zu einer Stylesheet-Datei, der ungefähr so aussieht:

<link href="https://css-tricks.de/wp-content/themes/CSS-Tricks-17/style.css?cache_bust=1594590986788" rel="stylesheet">

Sehen Sie die `?cache_bust=`-Zeichenfolge am Ende der Stylesheet-URL? Das sind einfach zufällige Zeichen, die ich manuell in diese URL eingefügt habe (basierend auf einem `Date()`-Aufruf), damit beim Hochladen einer Änderung an der Datei sowohl der CDN als auch der Browser-Cache der Benutzer unterbrochen werden und sie die neue Datei erhalten. Wenn ich das nicht täte, würden die Änderungen, die ich hochlade, erst gesehen werden, wenn der gesamte Cache abläuft oder manuell von Benutzern entfernt wird, was… schlecht ist. Ich behebe vielleicht einen Fehler! Oder veröffentliche ein neues Feature! Es ist besonders schlecht, da dieses CSS möglicherweise zusammen mit HTML ausgeliefert wird, das nicht so aggressiv gecacht wird, und dies zu einer Diskrepanz zwischen HTML und erwartetem CSS führen könnte.

Ich arbeite an einigen Websites, bei denen ich diesen Cache-Busting-String *von Hand* ändere, weil ich zu faul bin, ihn zu automatisieren. Normalerweise automatisiere ich ihn aber. Ich habe kürzlich meine Gulpfile geteilt, die ich von Hand geschrieben habe, und ein Teil davon befasst sich mit diesem Cache-Busting. Es ist Arbeit, sie zu schreiben, sie zu pflegen und sie während der Entwicklung zu verwenden. Sie können sogar die Kommentare zu diesem Beitrag lesen und die Strategien anderer Leute sehen, die dasselbe tun, aber anders als ich. Jeder macht Cache-Busting.

Nicht auf Netlify.

Nochmal, Sie ändern eine Asset-Datei, laden sie hoch, Netlify erkennt, dass sie sich geändert hat, und erledigt das gesamte Cache-Busting für Sie. So kann Ihre Stylesheet-Datei verknüpft werden:

<link href="dont-even-worry-about-it.css" rel="stylesheet" />