Tree Shaking

TL;DR

Tree Shaking entfernt unbenutzten Code beim Build-Prozess – nur was wirklich gebraucht wird, landet im finalen Bundle.

Was ist Tree Shaking?

Tree Shaking ist ein Optimierungsverfahren, das unbenutzten Code ("Dead Code") automatisch aus dem finalen JavaScript-Bundle entfernt. Der Name kommt von der Vorstellung, einen Baum zu schütteln, sodass tote Blätter abfallen.

Wenn eine Library 100 Funktionen enthält, du aber nur 5 nutzt, werden nur diese 5 im Bundle landen – nicht alle 100.

Wie Tree Shaking funktioniert

  • Bundler analysiert, welcher Code importiert und verwendet wird
  • Ungenutzte Exports werden markiert
  • Beim Minifizieren wird ungenutzter Code entfernt
  • Ergebnis: Deutlich kleinere Bundles

Voraussetzungen für Tree Shaking

  • ES Modules: import/export statt require()
  • Side-Effect-Free: Code ohne Nebeneffekte
  • Moderner Bundler: Webpack 4+, Rollup, Vite, esbuild
  • sideEffects in package.json: Deklariert, welche Dateien Nebeneffekte haben

Tree Shaking und Nachhaltigkeit

Tree Shaking ist nachhaltige Optimierung par excellence:

  • Bis zu 50-70% kleinere Bundles möglich
  • Weniger zu übertragen = weniger Energie
  • Schnellere Ausführung = weniger CPU-Zeit
  • Funktioniert automatisch ohne manuellen Aufwand

Best Practices

  • Libraries mit ES Module Support wählen
  • Spezifische Imports nutzen: import { map } from 'lodash-es'
  • Barrel-Exports vermeiden (index.js, das alles re-exportiert)
  • Bundle-Analyzer verwenden, um toten Code zu finden

Fazit

Tree Shaking ist eine der wichtigsten Build-Optimierungen. Es passiert automatisch, wenn der Code richtig strukturiert ist, und kann die Bundle-Größe drastisch reduzieren. Jedes moderne Webprojekt sollte davon profitieren.

Mehr aus dem Glossar

Geändert am:
15.12.2025

Code Splitting

Code in mehrere Bundles aufteilen und nur bei Bedarf laden. Senkt initiale Ladezeit und JavaScript-Kosten.
Code Splitting
Geändert am:
15.12.2025

Minification

Entfernt überflüssige Zeichen aus Code. Reduziert Dateigrößen um 10-30% ohne Funktionsverlust.
Minification
Mein Beitrag
für die Umwelt

Mein Beitrag für nachhaltiges Webdesign – Erfahre mehr darüber, wie meine digitalen Angeboteumweltfreundlich gestaltet sind und welche nachhaltigen Praktiken ich umsetzte.

Meine nachhaltigen Praktiken