Moderne JavaScript med ES6-ES13 (JS-vejledning)

Dynamisk import af JavaScript-moduler enkelt forklaret

Alle videoer i tutorialen Moderne JavaScript med ES6–ES13 (JS-vejledning)

Den dynamiske importering af moduler i JavaScript giver dig mulighed for at indlæse moduler ved kørsel baseret på betingelser eller begivenheder. Dette forbedrer ydeevnen af dine applikationer, da ikke alle moduler skal indlæses fra starten. I denne vejledning vil du lære, hvordan du effektivt bruger dynamiske importer for at optimere dine webapplikationer.

Vigtigste indsigter

  • Statiske importer skal være i begyndelsen af en fil og kan ikke bruges inden for funktioner.
  • Dynamiske importer giver mulighed for at indlæse moduler på vilkårlige steder i koden og behandle de returnerede promises.
  • Brugen af await letter håndteringen af promises og muliggør en mere læsevenlig syntaks.

Trin-for-trin vejledning

1. Statiske importer vs. Dynamiske importer

Inden du begynder med dynamiske importer, bør du være klar over forskellene mellem statiske og dynamiske importer. Statiske importer skal stå i begyndelsen af en fil og kan bruges i hele modulet. De er lette at identificere og giver klare afhængigheder. Dynamiske importer giver derimod mulighed for at indlæse moduler fleksibelt, når de er nødvendige. Denne evne kaldes "Lazy Loading" og kan betydeligt reducere indlæsningstiden for din applikation.

Dynamisk import af JavaScript-moduler enkelt forklaret

2. Introduktion til dynamisk import

For at starte med den dynamiske import af moduler kan du bruge import()-funktionen. Denne funktion returnerer et promise, hvilket betyder, at du kan arbejde med modulet, så snart promise er opfyldt. På dette tidspunkt vil du oprette en funktion, hvor du udfører en dynamisk import. Dette giver dig fleksibiliteten til at indlæse moduler baseret på brugerhandlinger eller bestemte betingelser.

3. Oprette en funktion til den dynamiske import

Nu kan du oprette din funktion. Lad os kalde den main. I denne funktion vil du dynamisk importere modulet. Glem ikke at angive den relevante sti til dit modul.

Denne funktion vil kun indlæse modulet, når main() kaldes, og ikke ved den indledende indlæsning af siden.

4. Behandling af det importerede modul

Når modulet er indlæst med succes, kan du få adgang til de eksporterede elementer af modulet. Bemærk, at import()-kommandoen returnerer et promise. Det betyder, at du med.then() kan definere en callback-funktion, der udføres, når promise er opfyldt.

Her har du dit dynamisk indlæste modul og kan tilgå det, som om det var blevet statisk importeret.

5. Brug af async/await for en forenklet syntaks

For at lette håndteringen af promise kan du bruge async/await-syntaksen. For at gøre dette skal du tilføje nøgleordet async før function-nøglen.

Denne metode er særligt læsevenlig, da koden ser ud, som om importen er blevet udført synkront.

6. Integration i applikationen

Antag, at du kun vil indlæse et modul under bestemte betingelser - for eksempel, når brugeren klikker på en knap.

Så vil modulet først blive indlæst, når brugeren klikker på knappen, hvilket forbedrer ydeevnen af din applikation.

7. Set Timeout

For at gøre dynamikken endnu mere tydelig kan du også bruge en timeout til at forsinke indlæsningen af modulet.

Her vil main blive kaldt efter 2 sekunder, hvilket gør, at modulet bliver dynamisk importeret.

Opsummering – Dynamisk import af moduler i JavaScript

I denne vejledning har du lært, hvordan du kan implementere dynamiske importer i JavaScript. Du har lært om forskellene mellem statiske og dynamiske importer, lært grundlæggende syntaks og set, hvordan du kan arbejde med promises og async/await. Disse teknikker hjælper dig med at gøre dine webapplikationer mere effektive og effektive.

Ofte stillede spørgsmål

Hvordan fungerer den dynamiske import i JavaScript?Den dynamiske import sker gennem funktionen import(), som returnerer et promise og muliggør at indlæse moduler ved kørsel.

Hvornår skal jeg bruge dynamiske importer?Dynamiske importer er ideelle, når du kun vil indlæse moduler efter behov for at forkorte initialiseringstiden for din applikation.

Hvad er forskellen mellem statiske og dynamiske importer?Statiske importer skal være i begyndelsen af en fil og indlæses straks ved kompileringstidspunktet, mens dynamiske importer kan bruges på vilkårlige steder i koden og indlæses ved kørsel.