Mikrofrontend-arkitektur med Module Federation · leksjon

Teknikker for å redusere pakkestørrelsen

Bruk ulike teknikker for å minimere størrelsen på applikasjonspakkene, inkludert tree-shaking og kodedeling.

Leksjon 2 av 411 trinn

Teknikker for å redusere pakkestørrelsen er en gratis leksjon i Mikrofrontend-arkitektur med Module Federation på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Mikrofrontend-arkitektur med Module Federation, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Mikrofrontend-arkitektur med Module Federation inneholder totalt 4 leksjoner.

Hvorfor pakkestørrelsen er viktig

Har du noen gang lagt merke til at et nettsted bruker lang tid på å laste inn? Ofte er størrelsen på «bunten» en viktig årsak!

En bunt inneholder all koden og alle ressursene i applikasjonen, pakket i én eller flere filer. Større bunter betyr mer data å laste ned, noe som gjør applikasjonen tregere, særlig ved langsomme forbindelser eller på mobile enheter.

Inne i Webpack-bunten

Når du bygger en nettapplikasjon med verktøy som Webpack, kombinerer den all JavaScript, CSS, bilder og andre filer. Dette kombinerte resultatet kaller vi en bunt.

Tenk på det som å pakke en koffert til en reise. Du vil ha med alt du trenger, men samtidig vil du at kofferten skal være så lett og håndterlig som mulig!

Verktøy for å analysere bunter

Før du optimaliserer, er det viktig å vite hva som gjør bunten stor. Webpack tilbyr verktøy som hjelper deg med å visualisere innholdet.

  • Webpack Bundle Analyzer: En populær plugin som lager en interaktiv treemap-visualisering av innholdet i bunten.
  • Source Map Explorer: Hjelper deg med å forstå hvor mye av størrelsen som kommer fra den opprinnelige kildekoden.

Disse verktøyene viser hvilke moduler og avhengigheter som tar opp mest plass.

Fjern ubrukt kode

Tree-shaking, også kalt «dead code elimination», er en kraftig optimaliseringsteknikk. Den fjerner kode fra den endelige bunten som applikasjonen faktisk ikke bruker.

Se for deg et tre der bare enkelte grener bærer frukt. Tree-shaking kutter bort de døde grenene (ubrukt kode) for å gjøre treet lettere og mer effektivt.

Slik får du tree-shaking til å fungere effektivt

For at tree-shaking skal fungere, må koden bruke ES2015-modulsyntaks (import og export). Webpack analyserer deretter disse avhengighetene.

Du kan angi til Webpack at en modul ikke har bivirkninger (det vil si at import av den ikke endrer global tilstand), ved å legge til "sideEffects": false i package.json eller i en modulspesifikk konfigurasjon. Dette forteller Webpack at det er trygt å fjerne ubrukte eksporter.

Del opp koden

Code splitting er en annen viktig teknikk. I stedet for én enorm bunt deler den applikasjonen opp i mindre chunks som lastes inn ved behov.

Det betyr at brukerne bare laster ned koden de trenger for den aktuelle visningen eller funksjonen, noe som gir mye raskere første innlasting. Andre deler av applikasjonen kan lastes inn senere når brukeren navigerer.

Implementering av code splitting

Den vanligste måten å implementere code splitting på er å bruke dynamiske import()-setninger. Dette forteller Webpack at den skal opprette en separat bunt for den importerte modulen.

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!");

Gjør koden mindre med minifisering

I tillegg til å fjerne ubrukt kode kan vi også gjøre den gjenværende koden mindre. Minifisering fjerner unødvendige tegn, som mellomrom og kommentarer, og forkorter variabelnavn.

Komprimering (som Gzip eller Brotli) reduserer filstørrelsen ytterligere når bunter overføres over nettverket. Disse trinnene håndteres ofte automatisk av Webpack i produksjonsmodus.

Mer enn kode: optimalisering av ressurser

Buntstørrelsen handler ikke bare om JavaScript. Store bilder, skrifttyper eller andre ressurser kan også gjøre applikasjonen unødvendig stor.

  • Bildeoptimalisering: Komprimer bilder, bruk moderne formater (WebP), og last inn bilder utenfor visningsområdet med lazy loading.
  • Skriftoptimalisering: Begrens skrifttyper til bare å inneholde tegnene du trenger.
  • Lazy loading: Last inn komponenter eller ruter først når de skal vises (dette gjennomgås mer i neste leksjon).

Optimalisering av applikasjonen

Hvilken av følgende teknikker har som mål å redusere buntstørrelsen ved å fjerne ubrukt kode under byggeprosessen?

Oppsummering og neste steg

Godt jobbet! Du har lært viktige teknikker for å redusere størrelsen på applikasjonens bunt.

  • Tree-shaking fjerner ubrukt kode.
  • Code splitting deler bunter opp i mindre chunks som lastes inn ved behov.
  • Minifisering og komprimering reduserer filstørrelsene ytterligere.

Ved å ta i bruk disse teknikkene sørger du for en raskere og mer effektiv opplevelse for brukerne dine. Deretter skal vi utforske strategier for hurtigbufring!

Gratis å komme i gang

Lær deg JavaScript 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
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Teknikker for å redusere pakkestørrelsen» gratis?

Ja – hele teksten i «Teknikker for å redusere pakkestørrelsen» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Mikrofrontend-arkitektur med Module Federation-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Mikrofrontend-arkitektur med Module Federation inneholder totalt 4 leksjoner.

Hva lærer jeg i «Teknikker for å redusere pakkestørrelsen»?

Bruk ulike teknikker for å minimere størrelsen på applikasjonspakkene, inkludert tree-shaking og kodedeling. Du øver på Mikrofrontend-arkitektur med Module Federation 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 Mikrofrontend-arkitektur med Module Federation?

Ingen tidligere erfaring er nødvendig. Mikrofrontend-arkitektur med Module Federation 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 2 av 4.

Hvor lang tid tar leksjonen «Teknikker for å redusere pakkestørrelsen»?

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 Mikrofrontend-arkitektur med Module Federation-leksjonen?

Ja. Alle Mikrofrontend-arkitektur med Module Federation-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.

Alle leksjonene i dette kurset

  1. Lazy loading av Micro Frontends
  2. Teknikker for å redusere pakkestørrelsen
  3. Strategier for hurtigbufring
  4. Forhåndshenting og forhåndslasting av micro frontends
← Tilbake til Mikrofrontend-arkitektur med Module Federation