I denne veiledningen vil du lære om moduler i JavaScript ved hjelp av eksempler.
Etter hvert som programmet vårt blir større, kan det inneholde mange kodelinjer. I stedet for å legge alt i en enkelt fil, kan du bruke moduler til å skille koder i separate filer i henhold til deres funksjonalitet. Dette gjør koden vår organisert og lettere å vedlikeholde.
Modulen er en fil som inneholder kode for å utføre en bestemt oppgave. En modul kan inneholde variabler, funksjoner, klasser osv. La oss se et eksempel,
Anta at en fil som heter greet.js inneholder følgende kode:
// exporting a function export function greetPerson(name) ( return `Hello $(name)`; )
Nå, for å bruke koden til greet.js i en annen fil, kan du bruke følgende kode:
// importing greetPerson from greet.js file import ( greetPerson ) from './greet.js'; // using greetPerson() defined in greet.js let displayName = greetPerson('Jack'); console.log(displayName); // Hello Jack
Her,
- Den
greetPerson()
funksjon i greet.js eksporteres brukeexport
søkeordexport function greetPerson(name) (… )
- Deretter importerte vi
greetPerson()
i en annen fil ved hjelp avimport
nøkkelordet. For å importere funksjoner, objekter osv., Må du pakke dem rundt( )
.import ( greet ) from '/.greet.js';
Merk : Du kan bare få tilgang til eksporterte funksjoner, objekter, etc. fra modulen. Du må bruke export
nøkkelordet for den spesielle funksjonen, objekter osv. For å importere dem og bruke dem i andre filer.
Eksporter flere objekter
Det er også mulig å eksportere flere objekter fra en modul. For eksempel,
I filen module.js
// exporting the variable export const name = 'JavaScript Program'; // exporting the function export function sum(x, y) ( return x + y; )
I hovedfilen,
import ( name, sum ) from './module.js'; console.log(name); let add = sum(4, 9); console.log(add); // 13
Her,
import ( name, sum ) from './module.js';
Dette importerer både navnesvariabelen og sum()
funksjonen fra module.js- filen.
Endre navn på import og eksport
Hvis objektene (variablene, funksjonene osv.) Som du vil importere allerede er tilstede i hovedfilen din, kan det hende at programmet ikke oppfører seg slik du vil. I dette tilfellet tar programmet verdi fra hovedfilen i stedet for den importerte filen.
For å unngå navngivning av konflikter, kan du gi nytt navn til disse funksjonene, objektene osv. Under eksporten eller under importen.
1. Gi nytt navn i modulen (eksportfil)
// renaming import inside module.js export ( function1 as newName1, function2 as newName2 ); // when you want to use the module // import in the main file import ( newName1, newName2 ) from './module.js';
Her, mens funksjonen eksporteres fra module.js- filen, blir nye navn (her, newName1 og newName2) gitt til funksjonen. Derfor, når du importerer denne funksjonen, brukes det nye navnet til å referere til den funksjonen.
2. Gi nytt navn i importfilen
// inside module.js export ( function1, function2 ); // when you want to use the module // import in the required file with different name import ( function1 as newName1, function2 as newName2 ) from './module.js';
Her, mens du importerer funksjonen, brukes de nye navnene (her, newName1 & newName2) til funksjonsnavnet. Nå bruker du de nye navnene til å referere til disse funksjonene.
Standard eksport
Du kan også utføre standardeksport av modulen. For eksempel,
I filen greet.js :
// default export export default function greet(name) ( return `Hello $(name)`; ) export const age = 23;
Så når du importerer, kan du bruke:
import random_name from './greet.js';
Mens du utfører standardeksport,
- random_name importeres fra
greet.js
. Siden,random_name
ikke er igreet.js
, eksporteres standardeksporten (greet()
i dette tilfellet) somrandom_name
. - Du kan bruke standard eksport direkte uten å legge ved krøllete parenteser
()
.
Merk : En fil kan inneholde flere eksportvarer. Du kan imidlertid bare ha en standardeksport i en fil.
Moduler Bruk alltid streng modus
Som standard er modulene i streng modus. For eksempel,
// in greet.js function greet() ( // strict by default ) export greet();
Fordel med å bruke modul
- Kodebasen er lettere å vedlikeholde fordi forskjellige koder med forskjellige funksjoner er i forskjellige filer.
- Gjør koden gjenbrukbar. Du kan definere en modul og bruke den flere ganger etter dine behov.
Bruk av import / eksport støttes kanskje ikke i noen nettlesere. Hvis du vil vite mer, kan du gå til støtte for import / eksport av JavaScript.