Ich verwende Node.js und möchte den übergeordneten Verzeichnisnamen für eine Datei erhalten. Ich habe die Akte "../test1/folder1/FolderIWant/test.txt"
.
Ich will bekommen "FolderIWant"
.
Ich habe versucht:
var path = require('path');
var parentDir = path.dirname(filename);
Aber es kehrt zurück ../test1/folder1/FolderIWant
.
Die Antwort von Daniel Wolf ist richtig, auch wenn Sie den vollständigen Pfad des übergeordneten Verzeichnisses möchten:
require('path').resolve(__dirname, '..')
quelle
const path = require('path'); module.exports = path.dirname(process.mainModule.filename)
Verwenden Sie dies überall, um das Stammverzeichnis abzurufen
quelle
Bei Verwendung von Node ab 06-2019 stieß ich auf ein Problem beim Zugriff auf just
filename
. Also habe ich es stattdessen nur ein kleines bisschen modifiziert und verwendet:Jetzt erhalten Sie den Verzeichnisnamen des aktuellen Verzeichnisses und nicht den vollständigen Pfad. Obwohl die vorherigen Antworten möglicherweise für andere zu funktionieren scheinen, verursachte dies für mich Probleme, da der Knoten nach einer Konstante oder einer Variablen suchte, aber keine finden konnte.
quelle
process.mainModule
Eigentum ist in veraltetv14.0.0
. Wenn foo.js von ausgeführt wirdnode foo.js
(z. B. somedir / foo.js "),const path = require("path"); module.exports = path.dirname(require.main.filename);
Ergebnis: Somedir
Verwenden Sie stattdessen require.main
quelle
const path = require ("path") path.dirname (path.basename (__ dirname))
quelle
Einfachster Weg ohne Knotenmodule wie den Pfad. Sie können auf folgende Weise einfach den Namen des Stammordners abrufen.
var rootFolder = __dirname.split('/').pop(); console.log(rootFolder);
quelle