perf(build): split blog assets out of the sitewide bundle #25
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chore/frontend-buildchain-baseline"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Die Startseite lud bisher das komplette Blog-Artikel-CSS, die Lightbox und die vier Artikel-Module mit, obwohl nichts davon außerhalb einer Artikelseite gebraucht wird. Ein zweiter Einstiegspunkt trennt das sauber auf.
Messwerte
main.min.cssmain.min.jsarticle.min.cssarticle.min.jsAlle Angaben in Bytes.
article.min.cssundarticle.min.jswerden nur noch auf Artikelseiten geladen. Ersparnis auf der Startseite: 43.909 Bytes CSS und 72.310 Bytes JavaScript.Warum beide Bundles jetzt als Modul geladen werden
Zwei Einstiegspunkte machen den Build zu einem Code-Splitting-Build, für den Rollup die Formate
iifeundumdablehnt. Der dabei ausgelagerte geteilte Chunk wird perimportnachgeladen, was in einem klassischen Script ein Syntaxfehler ist und das gesamte Seiten-JavaScript getötet hätte. SowohlmanualChunks: () => nullals auchexperimentalMinChunkSizewurden gegen den Build geprüft und lösen das nicht, weil Rollup einen von zwei Einstiegspunkten geteilten Chunk nicht zurückdupliziert.Nebenbefund, der mitrepariert wurde
Der postcss-Verweis in
vite.config.jszeigte auf eine Datei, die es im Repo nicht gibt, und die tatsächlich vorhandene Konfiguration hatte eine leere Plugin-Liste. Autoprefixer lief dadurch überhaupt nicht.Was sonst noch enthalten ist
Die Performance-Baseline unter
docs/PERFORMANCE-BASELINE.md, damit das Abnahmekriterium überhaupt prüfbar wird. Dazu ein wiederholbares Skript, das die Testimonial-Schnitte fürs Web kodiert: Wolfgang von 22 MB auf 4,1 MB, Kai von 8,9 MB auf 2,8 MB, jeweils samt AV1-Fassung und Poster. Bewusst als Skript, weil der Look-Durchgang der Videos noch aussteht und dann nur erneut ausgeführt werden muss.Verifikation
Beide Bundles parsen nachweislich nicht mehr als klassisches Script und sauber als ES-Modul. Der Playwright-Durchlauf über Startseite, Blog-Übersicht und Artikelseite lief ohne Seiten- oder Konsolenfehler, mit bestätigter Interaktion für Sticky-Header, FAQ-Karte, Lightbox und Marginalienspalte. Die Startseite lädt nachweislich keine Artikel-Assets, die Artikelseite alle vier Bundles.
Nicht in diesem PR
Die Ablösung von AOS und das Aufräumen toter Abhängigkeiten sind eigene Vorhaben. Ein bei der Verifikation gefundener Fehler in der Matomo-Einbindung wird getrennt in Issue #24 behandelt.
Closes #22