Vue Academy · Lektion

Identifiera och åtgärda flaskhalsar

Profilera och åtgärda prestandaflaskhalsar.

Lektion 3 av 313 steg

Identifiera och åtgärda flaskhalsar är en gratis lektion i Vue Academy på CoddyKit. Detta är lektion 3 av 3. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Vue Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Vue Academy innehåller totalt 3 lektioner.

Mät innan ni optimerar

Att gissa var en app är långsam slösar tid. Det professionella arbetssättet är att först mäta, hitta den verkliga flaskhalsen, åtgärda den och sedan mäta igen. Vue DevTools och webbläsarens profilerare är era viktigaste verktyg.

Vue DevTools

Webbläsartillägget Vue DevTools låter er inspektera komponentträdet, det reaktiva tillståndet och händelser. På fliken Performance registreras hur lång tid komponenter tar att rendera, så att ni kan hitta de långsamma.

Använda fliken Performance

Starta en inspelning, interagera med appen och stoppa sedan inspelningen. DevTools visar en tidslinje över komponenternas renderingar. Komponenter med långa eller frekventa renderingsstaplar är de främsta misstänkta.

Webbläsarens profilerare

Webbläsarens DevTools-panel Performance registrerar hela sidan: skriptkörning, rendering och målning. Långa gula block för skriptkörning pekar ofta på tungt JavaScript-arbete under en rendering.

Upptäcka överdrivna omrenderingar

En vanlig flaskhals är att en komponent renderas om betydligt oftare än väntat. Om en liten förändring utlöser omrendering av ett stort delträd bör ni leta efter delat reaktivt tillstånd eller saknade komponentgränser.

Rendering av stora listor

Att rendera tusentals DOM-noder samtidigt är långsamt och minneskrävande. Om en lista har hundratals eller tusentals rader blir själva DOM:en flaskhalsen, inte er datalogik.

<!-- rendering 10,000 rows like this is expensive -->
<li v-for="row in tenThousandRows" :key="row.id">{{ row.name }}</li>

Konceptet virtual scrolling

Virtual scrolling renderar bara de rader som för närvarande syns i visningsområdet samt en liten buffert och återanvänder DOM-noder när användaren rullar. En lista med 10 000 objekt behöver bara några dussin noder i DOM:en.

Använda ett bibliotek för virtuella listor

Bibliotek som vue-virtual-scroller implementerar detta åt er. Ni anger hela datamängden och en radhöjd, så hanterar biblioteket windowing.

import { RecycleScroller } from "vue-virtual-scroller"

// in template:
// <RecycleScroller :items="rows" :item-size="40" v-slot="{ item }">
//   <div>{{ item.name }}</div>
// </RecycleScroller>

Omrenderingsfel kopplade till nycklar

Om arrayindex används som :key i en dynamisk lista kan Vue återanvända DOM-noder felaktigt när objekt läggs till, tas bort eller sorteras om. Det kan leda till felaktigt innehåll och extra omrenderingar.

<!-- buggy: index keys break on reorder -->
<li v-for="(item, i) in items" :key="i">{{ item.name }}</li>

Åtgärda nyckelfel

Använd en stabil, unik identifierare som nyckel, så att Vue kan koppla element till rätt data vid uppdateringar.

<!-- correct: stable id key -->
<li v-for="item in items" :key="item.id">{{ item.name }}</li>

Ett praktiskt arbetsflöde

Sammanfatta arbetssättet: spela in med DevTools, hitta den långsammaste komponenten, kontrollera omrenderingar eller mycket stora listor, använd rätt åtgärd (cachning med computed, v-memo, virtual scrolling eller stabila nycklar) och mät igen för att bekräfta förbättringen.

Snabb kontroll

Testa era kunskaper om att hitta flaskhalsar.

Sammanfattning

Optimera genom att först mäta med Vue DevTools och webbläsarens profilerare och sedan rikta in er på verkliga flaskhalsar: överdrivna omrenderingar, mycket stora listor (som åtgärdas med virtual scrolling) och fel orsakade av index som nycklar (som åtgärdas med stabila nycklar). Mät alltid igen för att bekräfta resultatet. Nästa steg är att lära er testa Vue-applikationer.

Gratis att börja

Lär dig HTML med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
42
Lektioner
156

Vanliga frågor

Är lektionen ”Identifiera och åtgärda flaskhalsar” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Vue Academy, inklusive ”Identifiera och åtgärda flaskhalsar”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Vue Academy innehåller totalt 3 lektioner.

Vad lär jag mig i ”Identifiera och åtgärda flaskhalsar”?

Profilera och åtgärda prestandaflaskhalsar. Ni övar på Vue Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Vue Academy?

Du behöver inga förkunskaper. Utbildningen i Vue Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 3.

Hur lång tid tar lektionen ”Identifiera och åtgärda flaskhalsar”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Vue Academy-lektionen?

Ja. Varje Vue Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Lazy loading och koddelning
  2. Memoiseringstekniker
  3. Identifiera och åtgärda flaskhalsar
← Tillbaka till Vue Academy