JavaScript modules er en del af JavaScript fra og med ES6. Dette gør det nemmere at strukturere kode i moduler. Modules laves i separate filer. Det er en god idé at nøjes med 1 module per fil. Man kan så hente Javascript modules ind med export/import-funktionaliteten.
ES5 og tidligere
Hidtil har det været en god idé / kotume, at Javacript kode blev inkapsuleret i funktioner. Ikke mindst da var-nøgleordet har er function scoped, hvilket vil sige, at disse variabler og deres namespace er lukket inde i de funktioner, de oprettes i. Hvis var-variabler oprettes uden for en funktion er de tilstede i det globale scope.
Hvis var-variabler oprettes uden for en funktion er de tilstede i det globale scope.
export / import
JavaScript Modules oprettes i en separat fil, hvor de eksporteres fra og importeres så til en JS-fil.
//foo.js
export function foo(){
console.log("foo is exported!");
}
Module foo kan importeres i andre JS-filer.
//index.js
import {foo} from "./foo.js"
Læs mere om export / import
- MDN web docs – import
- Jake Archibald – ECMAScript modules in browsers
- You Don’t Know JS – ES6 & Beyond