Mikrofrontendarkitektur med Module Federation · Lektion

Teknikker til reduktion af bundle-størrelse

Anvend forskellige teknikker til at minimere størrelsen på jeres applikationsbundles, herunder tree-shaking og code splitting.

Lektion 2 af 411 trin

Teknikker til reduktion af bundle-størrelse er en gratis Mikrofrontendarkitektur med Module Federation-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Mikrofrontendarkitektur med Module Federation, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Mikrofrontendarkitektur med Module Federation-kurset indeholder 4 lektioner i alt.

Hvorfor pakkestørrelsen er vigtig

Har du nogensinde oplevet, at et websted tager lang tid at indlæse? Ofte er størrelsen på dets "pakke" en væsentlig årsag!

En pakke indeholder al din applikations kode og ressourcer, samlet i én eller flere filer. Større pakker betyder mere data, der skal downloades, hvilket gør din app langsommere, især på langsommere forbindelser eller mobilenheder.

Inde i din Webpack-pakke

Når du bygger en webapplikation med værktøjer som Webpack, samler den al din JavaScript, CSS, billeder og andre filer. Dette samlede output kalder vi en pakke.

Tænk på det som at pakke en kuffert til en rejse. Du vil have alt det med, du har brug for, men den skal også være så let og håndterbar som muligt!

Værktøjer til analyse af pakker

Før du optimerer, er det vigtigt at vide, hvad der gør din pakke stor. Webpack indeholder værktøjer, der hjælper dig med at visualisere dens indhold.

  • Webpack Bundle Analyzer: Et populært plugin, der opretter en interaktiv treemap-visualisering af pakkens indhold.
  • Source Map Explorer: Hjælper dig med at forstå, hvor meget den oprindelige kildekode bidrager til størrelsen.

Disse værktøjer viser dig, hvilke moduler og afhængigheder der optager mest plads.

Fjernelse af ubrugt kode

Tree-shaking, også kaldet "eliminering af død kode", er en effektiv optimeringsteknik. Den fjerner kode fra din endelige pakke, som din applikation faktisk ikke bruger.

Forestil dig et træ, hvor kun bestemte grene bærer frugt. Tree-shaking skærer de døde grene (ubrugt kode) væk for at gøre træet lettere og mere effektivt.

Sådan får du tree-shaking til at virke

For at tree-shaking kan fungere, skal din kode bruge ES2015-modulsyntaks (import og export). Derefter analyserer Webpack disse afhængigheder.

Du kan fortælle Webpack, at et modul ikke har bivirkninger (det vil sige, at import af modulet ikke ændrer den globale tilstand), ved at tilføje "sideEffects": false til din package.json eller modulespecifikke konfiguration. Det fortæller Webpack, at det er sikkert at fjerne ubrugte eksporter.

Opdeling af din kode

Code splitting er endnu en vigtig teknik. I stedet for én enorm pakke opdeler den din applikation i mindre chunks, der indlæses efter behov.

Det betyder, at brugerne kun downloader den kode, de skal bruge til den aktuelle visning eller funktion, hvilket giver meget hurtigere første indlæsning. Andre dele af appen kan indlæses senere, når brugeren navigerer.

Implementering af code splitting

Den mest almindelige måde at implementere code splitting på er ved at bruge dynamiske import()-instruktioner. Det fortæller Webpack, at der skal oprettes en separat pakke til det importerede modul.

Her er et enkelt eksempel:

function greet() {
  import('./hello').then(module => {
    // Assuming 'hello.js' exports a default function
    module.default(); 
  });
}

// In hello.js:
// export default () => console.log("Hello from a separate chunk!");

Formindskning af kode med minificering

Ud over at fjerne ubrugt kode kan vi også gøre den resterende kode mindre. Minificering fjerner unødvendige tegn som mellemrum og kommentarer og forkorter variabelnavne.

Komprimering (som Gzip eller Brotli) reducerer filstørrelsen yderligere, når pakker overføres via netværket. Disse trin håndteres ofte automatisk af Webpack i produktionstilstand.

Mere end kode: optimering af ressourcer

Pakkestørrelse handler ikke kun om JavaScript. Store billeder, skrifttyper eller andre ressourcer kan også gøre din app unødigt stor.

  • Billedoptimering: Komprimer billeder, brug moderne formater (WebP), og indlæs billeder uden for skærmområdet med lazy loading.
  • Skrifttypeoptimering: Begræns skrifttyper til kun at indeholde de tegn, du har brug for.
  • Lazy loading: Indlæs kun komponenter eller ruter, når de skal vises (dette gennemgås mere i næste lektion).

Optimering af din app

Hvilken af følgende teknikker har til formål at reducere pakkestørrelsen ved at fjerne ubrugt kode under byggeprocessen?

Opsummering og næste trin

Godt gået! Du har lært de vigtigste teknikker til at reducere din applikations pakkestørrelse.

  • Tree-shaking fjerner ubrugt kode.
  • Code splitting opdeler pakker i mindre chunks, der indlæses efter behov.
  • Minificering og komprimering gør filstørrelserne endnu mindre.

Ved at anvende disse teknikker sikrer du en hurtigere og mere effektiv oplevelse for dine brugere. Dernæst undersøger vi strategier for caching!

Gratis at komme i gang

Lær JavaScript med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Teknikker til reduktion af bundle-størrelse” gratis?

Ja — hele teksten til “Teknikker til reduktion af bundle-størrelse” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Mikrofrontendarkitektur med Module Federation-kurset, skal du opgradere til CoddyKit PRO. Mikrofrontendarkitektur med Module Federation-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Teknikker til reduktion af bundle-størrelse”?

Anvend forskellige teknikker til at minimere størrelsen på jeres applikationsbundles, herunder tree-shaking og code splitting. Du øver dig i Mikrofrontendarkitektur med Module Federation med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Mikrofrontendarkitektur med Module Federation?

Der kræves ingen tidligere erfaring. Mikrofrontendarkitektur med Module Federation på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Teknikker til reduktion af bundle-størrelse”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Mikrofrontendarkitektur med Module Federation-lektion?

Ja. Alle Mikrofrontendarkitektur med Module Federation-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Lazy loading af Micro Frontends
  2. Teknikker til reduktion af bundle-størrelse
  3. Cachingstrategier
  4. Prefetching og preloading af micro frontends
← Tilbage til Mikrofrontendarkitektur med Module Federation