Hva er hydrering
Forstå hvordan hydrering gjenbruker HTML fra serveren.
Hva er hydrering er en gratis leksjon i Angular Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Angular Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Angular Academy inneholder totalt 4 leksjoner.
Definere hydrering
Hydrering er prosessen der Angular-appen på klientsiden gjenbruker den server-rendrede HTML-en, fester hendelseslyttere og tilstand til den eksisterende DOM-en i stedet for å forkaste den og rendre på nytt.
Livet uten hydrering
Eldre SSR brukte destruktiv hydrering: Klienten slettet serverens DOM og rendret alt på nytt fra grunnen av. Dette førte til et synlig blink og forkastet arbeidet serveren hadde gjort.
Ikke-destruktiv hydrering
Moderne Angular utfører ikke-destruktiv hydrering: Den går gjennom den eksisterende DOM-en, sammenligner den med komponenttreet og gjenbruker nodene. Ingen blinking, mindre arbeid og bedre ytelse.
Hvorfor det forbedrer vitals
Gjenbruk av serverens HTML gjør at det største innholdet forblir synlig, noe som hjelper LCP, og unngår layoutforskyvninger fra ny rendring, noe som hjelper CLS. Appen blir interaktiv uten å tegnes på nytt.
Bildet i to faser
Fase én: Serveren renderer HTML og sender den. Fase to: Nettleseren laster ned JavaScript, starter Angular og hydratiserer den eksisterende markuppen slik at den blir interaktiv.
Samsvarende DOM-struktur
Hydrering forutsetter at komponenttreet på klienten produserer den samme strukturen som serveren produserte. Hvis de avviker, rapporterer Angular et hydreringsavvik.
// NG0500: During hydration Angular expected <div> but found <span>Vanlige årsaker til avvik
Direkte DOM-manipulering, nettleserspesifikke grener som endrer markup, ugyldig HTML-nøsting og ikke-deterministisk innhold (som Math.random() eller Date.now() i maler) fører til avvik.
Unngå manuelle DOM-endringer
Ikke manipuler DOM-en imperativt, for eksempel med innerHTML utenfor Angular, under SSR. La Angular ha kontroll over DOM-en, slik at klienten og serveren er enige.
ngSkipHydration som sikkerhetsventil
For en komponent som faktisk ikke kan hydratiseres, for eksempel en tredjepartskomponent som endrer DOM-en, kan du velge den bort med ngSkipHydration. Angular renderer da bare dette deltreet på nytt.
<app-legacy-widget ngSkipHydration></app-legacy-widget>Hydrering krever SSR
Hydrering gjelder bare når det finnes servergenerert HTML som kan gjenbrukes. En ren CSR-app har ingenting å hydrere; hydrering er klientsiden av SSR-historien.
Hva skjer videre
Hydrering kan være fullstendig (hele appen hydreres ved lasting) eller inkrementell (deler hydreres ved behov). Å velge riktig strategi er avgjørende for ytelsen, noe som dekkes i senere leksjoner.
Kort sjekk
Sjekk forståelsen din av hydrering.
Oppsummering
Hydrering gjenbruker serverens HTML på klientsiden uten å ødelegge den, noe som forbedrer LCP og CLS. Uoverensstemmelser oppstår på grunn av manuelle DOM-endringer eller ikke-deterministisk markup; bruk ngSkipHydration som en nødløsning. Hydrering er klientsiden av SSR.
Lær deg HTML med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 38
- Leksjoner
- 144
Ofte stilte spørsmål
Er leksjonen «Hva er hydrering» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Angular Academy, inkludert «Hva er hydrering», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Angular Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Hva er hydrering»?
Forstå hvordan hydrering gjenbruker HTML fra serveren. Du øver på Angular Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Angular Academy?
Ingen tidligere erfaring er nødvendig. Angular Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Hva er hydrering»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Angular Academy-leksjonen?
Ja. Alle Angular Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.