Was zwischenWas ist der Unterschied zwischen process.cwd() vs __dirname?
console.log(process.cwd())
und
console.log(__dirname);
ich gesehen habe beide verwendet in ähnlichen Kontexten der Unterschied.
Was zwischenWas ist der Unterschied zwischen process.cwd() vs __dirname?
console.log(process.cwd())
und
console.log(__dirname);
ich gesehen habe beide verwendet in ähnlichen Kontexten der Unterschied.
process.cwd()
gibt das aktuelle Arbeitsverzeichnis,
heißt das Verzeichnis, aus dem Sie den node
Befehl aufgerufen.
__dirname
die Verzeichnisnamen des Verzeichnisses gibt die JavaScript-Quellcode-Datei
Wie pro Knoten js doc process.cwd()
cwd
ist eine Methode des globalen Objekts process
, liefert einen String-Wert enthält, die der Strom Arbeitsverzeichnis des Node.js-Prozesses.
Wie pro Knoten js doc __dirname
Der Verzeichnisname des aktuellen Skripts als String-Wert. __dirname ist nicht wirklich global, sondern lokal für jedes Modul.
Lassen Sie mich mit Beispiel erklären,
Angenommen, wir haben eine main.js
Datei in C:/Project/main.js
befindet und läuft node main.js
diese beiden Werte zurückgeben gleiche Datei
oder einfach mit folgenden Ordnerstruktur
Project
├── main.js
└──lib
└── script.js
main.js
console.log(process.cwd())
// C:\Project
console.log(__dirname)
// C:\Project
console.log(__dirname===process.cwd())
// true
nehmen wir eine andere Datei script.js
Dateien in einem Unterverzeichnis des Projekts dh C:/Project/lib/script.js
und Lauf node main.js
haben die
require('./assets/script.js')
console.log(process.cwd())
// C:\Project
console.log(__dirname)
// C:\Project
console.log(__dirname===process.cwd())
// true
script.js
console.log(process.cwd())
// C:\Project
console.log(__dirname)
// C:\Project\lib
console.log(__dirname===process.cwd())
// false
Bedeutet dies
script.js
main.js erfordern this 'process.cwd()' ist synonym zu '.' für alle Fälle außer' require() '? –
@AlexanderGonchiy richtig, '.' ist relativ zu' process.cwd() '(also auch), außer' require() ', das relativ zur aktuellen ausführenden Datei funktioniert. Siehe [hier] (http://stackoverflow.com/a/16730379/927631) für mehr. – Dwelle