Node.js Dateipfade
Systemdateipfade
Jede Datei im System hat einen Pfad. Unter Linux und macOS könnte ein Pfad wie folgt aussehen: /users/joe/file.txt
Während Windows-Computer eine andere Struktur haben, wie z. B.: C:\users\joe\file.txt
Sie müssen aufmerksam sein, wenn Sie Pfade in Ihren Anwendungen verwenden, da dieser Unterschied berücksichtigt werden muss.
Verwenden des path-Moduls
Sie binden dieses Modul in Ihre Dateien ein, indem Sie Folgendes verwenden:
const path = require('node:path')und Sie können beginnen, seine Methoden zu verwenden.
Informationen aus einem Pfad extrahieren
Ausgehend von einem Pfad können Sie mit diesen Methoden Informationen daraus extrahieren:
dirname: Ermittelt den übergeordneten Ordner einer Dateibasename: Ermittelt den Dateinamensteilextname: Ermittelt die Dateiendung
Beispiel
const path = require('node:path')
const notes = '/users/joe/notes.txt'
path.dirname(notes) // /users/joe
path.extname(notes) // .txtimport path from 'node:path'
const notes = '/users/joe/notes.txt'
path.dirname(notes) // /users/joe
path.extname(notes) // .txtSie können den Dateinamen ohne die Erweiterung erhalten, indem Sie ein zweites Argument für basename angeben:
path.basename(notes, path.extname(notes)) // notesArbeiten mit Pfaden
Sie können zwei oder mehr Teile eines Pfads mit path.join() zusammenfügen:
path.join('/users', 'joe', 'file.txt') // /users/joe/file.txtSie können die absolute Pfadberechnung eines relativen Pfads mit path.resolve() abrufen:
path.resolve('joe.txt') // /Users/joe/joe.txt, wenn es von meinem Home-Ordner aus ausgeführt wird
path.resolve('tmp', 'joe.txt') // /Users/joe/tmp/joe.txt, wenn es von meinem Home-Ordner aus ausgeführt wirdIn diesem Fall hängt Node.js einfach /joe.txt an das aktuelle Arbeitsverzeichnis an. Wenn Sie einen zweiten Parameter als Ordner angeben, verwendet resolve den ersten als Basis für den zweiten.
Wenn der erste Parameter mit einem Schrägstrich beginnt, bedeutet dies, dass es sich um einen absoluten Pfad handelt:
path.resolve('/etc', 'joe.txt') // /etc/joe.txtpath.normalize() ist eine weitere nützliche Funktion, die versucht, den tatsächlichen Pfad zu berechnen, wenn er relative Spezifizierer wie . oder .. oder doppelte Schrägstriche enthält:
path.normalize('/users/joe/../test.txt') // /users/test.txtWeder resolve noch normalize prüfen, ob der Pfad vorhanden ist. Sie berechnen lediglich einen Pfad basierend auf den erhaltenen Informationen.