2012-03-26 5 views

Antwort

284

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

+4

Bedeutet dies script.js

main.js erfordern this 'process.cwd()' ist synonym zu '.' für alle Fälle außer' require() '? –

+6

@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

14

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 
Verwandte Themen