Engpässe erkennen und beheben
Erstellen Sie ein Performance-Profil und beheben Sie Leistungsengpässe.
Engpässe erkennen und beheben ist eine kostenlose Vue Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Vue Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Vue Academy-Kurs umfasst insgesamt 3 Lektionen.
Messen, bevor Sie optimieren
Zu raten, wo eine Anwendung langsam ist, kostet Zeit. Professionell gehen Sie so vor: messen Sie zuerst, finden Sie den tatsächlichen Engpass, beheben Sie ihn und messen Sie anschließend erneut. Vue DevTools und der Browser-Profiler sind Ihre wichtigsten Werkzeuge.
Vue DevTools
Mit der Browser-Erweiterung Vue DevTools können Sie den Komponentenbaum, den reaktiven Zustand und Ereignisse untersuchen. Der Tab Performance zeichnet auf, wie lange das Rendern von Komponenten dauert, sodass Sie langsame Komponenten erkennen können.
Den Performance-Tab verwenden
Starten Sie eine Aufzeichnung, interagieren Sie mit Ihrer Anwendung und beenden Sie die Aufzeichnung anschließend. DevTools zeigt eine Zeitleiste der Komponenten-Renderings. Komponenten mit langen oder häufigen Render-Balken sind die wichtigsten Verdächtigen.
Der Browser-Profiler
Das Performance-Panel der Browser-DevTools zeichnet die gesamte Seite auf: Skriptausführung, Rendering und Zeichnen. Lange gelbe Blöcke für die Skriptausführung weisen häufig auf umfangreiche JavaScript-Arbeit während eines Render-Vorgangs hin.
Übermäßiges erneutes Rendern erkennen
Ein häufiger Engpass ist eine Komponente, die deutlich häufiger neu gerendert wird als erwartet. Wenn eine kleine Änderung dazu führt, dass ein großer Teilbaum neu gerendert wird, suchen Sie nach gemeinsam genutztem reaktivem Zustand oder fehlenden Komponentengrenzen.
Große Listen rendern
Tausende DOM-Knoten gleichzeitig zu rendern ist langsam und speicherintensiv. Wenn eine Liste Hunderte oder Tausende Zeilen enthält, wird das DOM selbst zum Engpass, nicht Ihre Datenlogik.
<!-- rendering 10,000 rows like this is expensive -->
<li v-for="row in tenThousandRows" :key="row.id">{{ row.name }}</li>Das Konzept des virtuellen Scrollens
Virtuelles Scrollen rendert nur die aktuell im Ansichtsbereich sichtbaren Zeilen sowie einen kleinen Puffer und verwendet DOM-Knoten beim Scrollen wieder. Bei einer Liste mit 10.000 Elementen bleiben nur einige Dutzend Knoten im DOM.
Eine Bibliothek für virtuelle Listen verwenden
Bibliotheken wie vue-virtual-scroller implementieren dies für Sie. Sie übergeben ihnen die vollständigen Daten und eine Zeilenhöhe, und sie übernehmen das Windowing.
import { RecycleScroller } from "vue-virtual-scroller"
// in template:
// <RecycleScroller :items="rows" :item-size="40" v-slot="{ item }">
// <div>{{ item.name }}</div>
// </RecycleScroller>Durch Schlüssel verursachte Fehler beim erneuten Rendern
Wenn Sie den Array-Index als :key in einer dynamischen Liste verwenden, kann Vue DOM-Knoten beim Hinzufügen, Entfernen oder Umsortieren von Elementen falsch wiederverwenden. Das führt zu falschen Inhalten und zusätzlichem erneutem Rendern.
<!-- buggy: index keys break on reorder -->
<li v-for="(item, i) in items" :key="i">{{ item.name }}</li>Fehler bei Schlüsseln beheben
Verwenden Sie eine stabile, eindeutige ID als Schlüssel, damit Vue Elemente bei Aktualisierungen korrekt den Daten zuordnen kann.
<!-- correct: stable id key -->
<li v-for="item in items" :key="item.id">{{ item.name }}</li>Ein praktischer Ablauf
Führen Sie alles zusammen: Zeichnen Sie mit DevTools auf, finden Sie die langsamste Komponente, suchen Sie nach übermäßigem erneutem Rendern oder sehr großen Listen, wenden Sie die passende Lösung an (computed-Caching, v-memo, virtuelles Scrollen, stabile Schlüssel) und messen Sie erneut, um die Verbesserung zu bestätigen.
Kurztest
Testen Sie Ihr Wissen über das Finden von Engpässen.
Zusammenfassung
Optimieren Sie, indem Sie zuerst mit Vue DevTools und dem Browser-Profiler messen und dann die tatsächlichen Engpässe gezielt beheben: übermäßiges erneutes Rendern, sehr große Listen (behoben durch virtuelles Scrollen) und Fehler durch Index-Schlüssel (behoben durch stabile Schlüssel). Messen Sie immer erneut, um die Verbesserung zu bestätigen. Als Nächstes lernen Sie, Vue-Anwendungen zu testen.
Häufig gestellte Fragen
Ist die Lektion „Engpässe erkennen und beheben“ kostenlos?
Ja — der vollständige Text von „Engpässe erkennen und beheben“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Vue Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Vue Academy-Kurs umfasst insgesamt 3 Lektionen.
Was lerne ich in „Engpässe erkennen und beheben“?
Erstellen Sie ein Performance-Profil und beheben Sie Leistungsengpässe. Du übst Vue Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Vue Academy zu starten?
Keine Vorkenntnisse erforderlich. Vue Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 3.
Wie lange dauert die Lektion „Engpässe erkennen und beheben“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Vue Academy-Lektion Code schreiben und ausführen?
Ja. Jede Vue Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Lazy Loading und Code-Splitting
- Memoization-Techniken
- Engpässe erkennen und beheben