Verwenden von Dateipfaden in Node.js
Als neue*r Entwickler*in bei Tailwind Traders müssen Sie wissen, wie Sie Pfade zu Dateien und Ordnern verwalten. Wenn jedoch eine Vielzahl an Dateien und Ordnern vorhanden ist, kann das manuelle Erstellen von Pfaden mühsam werden. Node.js bietet einige integrierte Konstanten und Hilfsprogramme, die das Erstellen von Dateipfaden vereinfachen.
Ermitteln des aktuellen Verzeichnisses mit „__dirname“
Mitunter wissen Sie nicht, in welchem Verzeichnis Ihr Programm ausgeführt wird. Das Programm soll einfach nur den Pfad des aktuellen Verzeichnisses verwenden.
📂 stores
📂 201
📂 sales
Node.js macht den vollständigen Pfad zum aktuellen Verzeichnis über die Konstante __dirname
verfügbar.
console.log(__dirname);
Wenn Sie diesen Code aus dem Ordner sales in der folgenden Ordnerstruktur ausführen, hat _dirname
den Wert:
/stores/201/sales
Arbeiten mit Pfaden mit dem Modul „path“
Pfade sind so wichtig, dass Node.js ein Modul namens path enthält, das für die Arbeit mit Pfaden verwendet wird.
Genau wie das fs-Modul ist das path-Modul standardmäßig in Node.js integriert und muss nicht installiert werden. Sie müssen lediglich am Anfang Ihrer Datei darauf verweisen.
const path = require("path");
Verknüpfen von Pfaden mit „path.join“
Das path-Modul arbeitet mit dem Konzept von Datei- und Ordnerpfaden, bei denen es sich lediglich um Zeichenfolgen handelt. Wenn Sie beispielsweise den Pfad zum Ordner stores/201 abrufen möchten, können Sie dazu das path-Modul verwenden.
const currentPath = path.join("stores", "201");
console.log(currentPath); // stores/201
const fullPath = path.join(__dirname, "stores", "201");
console.log(fullPath); // /nodejs-files/stores/201
Sie könnten das path-Modul verwenden, anstatt die Zeichenfolgen miteinander zu verketten, weil Ihr Programm beispielsweise unter Windows oder Linux ausgeführt wird. Das Modul path sorgt für die ordnungsgemäße Formatierung von Pfaden für ein beliebiges Betriebssystem. Im obigen Beispiel würde path.join
unter Windows stores\201
zurückgeben: mit einem umgekehrten Schrägstrich anstatt eines Schrägstrichs.
Ermitteln von Dateinamenerweiterungen mit „path.extname“
Das Modul path kann auch die Erweiterung eines Dateinamens identifizieren. Wenn Sie ermitteln möchten, ob es sich bei einer Datei um eine JSON-Datei handelt, können Sie die Methode path.extname
verwenden.
console.log(path.extname("sales.json"));
Die Ausgabe lautet:
.json
Tipp
Für das path-Modul ist nicht relevant, ob die Eingaben tatsächlich vorhanden sind. Pfade sind konzeptionell, nicht physisch. Das Modul erstellt und analysiert also einfach nur Zeichenfolgen für Sie.
Einholen erforderlicher Informationen zu einer Datei oder einem Pfad
Das path-Modul enthält viele verschiedene Methoden, die verschiedene Funktionen erfüllen. Die meisten Informationen, die Sie zu einem Pfad oder einer Datei benötigen, können Sie jedoch mit der parse
-Methode abrufen. Diese Methode gibt ein Objekt zurück, das das aktuelle Verzeichnis, den Namen der Datei, die Erweiterung und sogar den Namen der Datei ohne die Erweiterung enthält.
const currentPath = path.parse("stores/201/sales.json")
console.log(currentPath);
const fullPath = path.join(__dirname, "stores", "201", "/sales.json");
console.log(path.parse(fullPath));
Die Ausgabe lautet:
{
root: '',
dir: 'stores/201',
base: 'sales.json',
ext: '.json',
name: 'sales'
}
{
root: '/',
dir: '/workspaces/node-essentials/nodejs-files/stores/201',
base: 'sales.json',
ext: '.json',
name: 'sales'
}
Im path-Modul stehen viele weitere nützliche Hilfsmethoden zur Verfügung. Die hier vorgestellten Methoden sind jedoch die Kernkonzepte, die Sie vermutlich am häufigsten verwenden werden. In der nächsten Übung verwenden Sie das path-Modul, um Pfade zu kombinieren und JSON-Dateien zu ermitteln.