Skip to main content
Module sind wiederverwendbare Codeteile, die Implementierungsdetails kapseln. Dabei sind Module meistens in einem File.

Vorteile

  • Software zusammensetzen: Module sind kleine Bausteine, die wir zusammenfügen, um komplexe Anwendungen zu erstellen
  • Komponenten isolieren: Module können isoliert entwickelt werden, ohne an die gesamte Codebasis denken zu müssen
  • Code abstrahieren: Low-Level-Code in Modulen implementieren und diese Abstraktionen in andere Module importieren
  • Code organisieren: Module führen auf natürliche Weise zu einer besser organisierten Codebase
  • Code wiederverwenden: Module ermöglichen es uns, denselben Code einfach wiederzuverwenden, auch über mehrere Projekte hinweg

ES6 Modules

Bei ES6 Modulen beinhaltet eine Datei genau ein Modul.

Unterschiede: Modules vs. Scripts

Importieren und exportieren

Wir können ein File einfach über ein import-Statement importieren.
Wie wir sehen können, wird also einfach der Code des importieren Files ausgeführt. Dabei spielt die Reihenfolge keine Rolle, da das import-Statement sowieso gehoisted wird.
Weiter gibt es sogenannte Named Exports, das heisst, dass wir den Namen des zu importierenden Codes angeben müssen.

Wir können auch das ganze Modul als Objekt importieren.

Wir können auch Default-Exports machen. Diese können wir dann beim importieren nennen, wie wir wollen.
Technisch ist es möglich Named-Exports und Default-Exports zu mischen, es ist jedoch nicht empfohlen!

CommonJS

CommonJS Imports und Export wurden vor allem in Node.js gebraucht und sind dadurch auch heute noch weit verbreitet.
Imports werden gehoisted.