Process.platform gibt "win32" für Windows zurück. Unter Windows kann das Ausgangsverzeichnis eines Benutzers C: \ Benutzer [USERNAME] oder C: \ Dokumente und Einstellungen [USERNAME] sein, je nachdem, welche Windows-Version verwendet wird. Unter Unix ist dies kein Problem.
214
Antworten:
Wie in einer neueren Antwort erwähnt , ist der bevorzugte Weg jetzt einfach:
[Originalantwort] : Warum nicht die
USERPROFILE
Umgebungsvariable unter win32 verwenden?quelle
path.resolve()
kann eine gewisse Normalisierung in Bezug auf nachgestellte Schrägstriche, möglicherweise ungerade Vorwärts- / Rückwärts-Schrägstriche usw. bewirken (insbesondere, wenn Sie nach Erhalt dieser Informationen an Dateivorgänge denken)os.homedir()
wurde von dieser PR hinzugefügt und ist Teil der öffentlichen Version 4.0.0 von nodejs.Anwendungsbeispiel:
quelle
os.homedir()
es ein verdammt neues Spielzeug ist.const os = require('os');
zuNun, es wäre genauer, sich auf die Funktion und nicht auf einen variablen Wert zu verlassen. Zumal es für Windows 2 mögliche Variablen gibt.
BEARBEITEN : Wie in einer neueren Antwort erwähnt, ist https://stackoverflow.com/a/32556337/103396 der richtige Weg (
require('os').homedir()
).quelle
\users\name
und USERPROFILE hatc:\users\name
. Diese Methode ist also nicht so genau und robust wie @maerics 'Verwenden Sie
osenv.home()
. Es wird von isaacs gepflegt und ich glaube, es wird von npm selbst verwendet.https://github.com/isaacs/osenv
quelle
oshome
verwendetos-homedir
unter der Haube, wenn Sie nur diese Funktionalität wollen.quelle