Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Wie Node.js Module Lädt | Abschnitt
Node.js-Grundlagen

bookWie Node.js Module Lädt

Swipe um das Menü anzuzeigen

Um effektiv mit Modulen in Node.js zu arbeiten, ist es notwendig zu verstehen, wie Node.js diese findet und lädt. Dieser Vorgang wird als Modulauflösung bezeichnet. Wenn die require-Funktion zum Importieren eines Moduls verwendet wird, folgt Node.js einem bestimmten Algorithmus, um die angeforderte Datei oder das Paket zu finden. Der Auflösungsprozess berücksichtigt Dateiendungen, Ordnerstrukturen und sogar das Vorhandensein spezieller Dateien wie package.json.

Zunächst prüft Node.js, ob das angeforderte Modul ein Kernmodul ist, wie beispielsweise fs oder http. Ist dies nicht der Fall, behandelt Node.js den an require übergebenen String entweder als relativen Pfad (beginnend mit ./ oder ../), als absoluten Pfad oder als Modulnamen. Für relative und absolute Pfade versucht Node.js, die Datei in folgender Reihenfolge aufzulösen:

  • Ob die Datei mit dem angegebenen Namen exakt existiert;
  • Ob die Datei mit einer angehängten .js-Erweiterung existiert;
  • Ob die Datei mit einer angehängten .json-Erweiterung existiert;
  • Ob die Datei mit einer angehängten .node-Erweiterung existiert.

Zeigt der Pfad auf ein Verzeichnis, sucht Node.js nach einer package.json-Datei in diesem Verzeichnis. Wird eine solche gefunden, verwendet Node.js das Feld main, um zu bestimmen, welche Datei geladen werden soll. Gibt es keine package.json oder kein main-Feld, sucht Node.js nach einer Datei namens index.js, index.json oder index.node im Verzeichnis.

Wird ein Modul über seinen Namen (nicht über einen Pfad) angefordert, durchsucht Node.js die node_modules-Verzeichnisse, beginnend im aktuellen Verzeichnis und dann aufsteigend im Verzeichnisbaum bis zum Wurzelverzeichnis.

app.js

app.js

copy
Note
Hinweis

Node.js cached Module nach dem ersten Laden. Das bedeutet, dass bei mehrfacher Anforderung desselben Moduls dieses nur einmal ausgeführt wird; spätere Aufrufe liefern dasselbe zwischengespeicherte Objekt zurück. Dies verbessert die Leistung und Konsistenz innerhalb der Anwendung.

question-icon

Füllen Sie die Lücken aus:
Wenn Sie require('./moduleName') in Node.js verwenden, prüft der Modulauflösungsalgorithmus in folgender Reihenfolge:

  1. Ob eine Datei mit dem Namen moduleName existiert;
  2. Ob eine Datei mit dem Namen moduleName.___1___ existiert;
  3. Ob eine Datei mit dem Namen moduleName.___2___ existiert;
  4. Ob eine Datei mit dem Namen moduleName.___3___ existiert.

Klicken oder ziehen Sie Elemente und füllen Sie die Lücken aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 11

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 1. Kapitel 11
some-alt