Deo zbornika Napredni Javaskript
Moduli u Javascriptu
Moduli su jedinice koda zatvorenog opsega, što znači da varijable proglašene u modulu nisu vidljive u drugim fajlovima.
JavaScript je tradicionalno korišćen u pregledačima, a skripte su uglavnom bile male, pa nije bilo problema oko organizacije. Međutim, JavaScript projekti su postajali sve veći, a bez efikasnog sistema modula, upravljanje kodom je postajalo noćna mora.
Moduli su u Javascript zvanično uvedeni 2015 godine. Pre verzije ES6, moduli su mogli da se koriste pomoću biblioteka, a postojale su dve glavne sintakse - CommonJS, koju je usvojio Node.js, i AMD (Asynchronous Module Definition), za upotrebu u pregledaču.
Javascript moduli su organizovani po fajlovima. Ne postoji rezervisana reč za modul, već js fajl automatski postaje modul kada upotrebimo ključnu reči export ili import.
Osobine ES6 modula
ES6 moduli prate sledeće smernice:
- Moduli mogu da se uvezu iz drugih modula.
- Moduli su singularni. Modul se uvozi samo jednom, čak i kada pokušamo da ga uvezemo nekoliko puta.
- Modul ima pristup podacima unutar njega. Samo deklaracije označene rečju
exportsu dostupne za uvoz izvan modula.
Prilikom uvoza iz modula:
- Možemo da koristimo relativne putanje. Na primer, koristimo putanju
"../lib/server"ako uvozimo u fajlproject/src/app.js, a modul je smešten uproject/lib/server.js. - Možemo da koristimo apsolutne putanje.
- Možemo da izostavimo ekstenziju
.jskada uvozimo modul.
Literatura
- Ved Antani, Stojan Stefanov, Objektno-orjentisan JavaScript, Beograd, 2017.