Process.platform renvoie "win32" pour Windows. Sous Windows, le répertoire de base d'un utilisateur peut être C: \ Users [USERNAME] ou C: \ Documents and Settings [USERNAME] selon la version de Windows utilisée. Sous Unix, ce n'est pas un problème.
215
Réponses:
Comme mentionné dans une réponse plus récente , la méthode préférée est maintenant simplement:
[Réponse originale] : Pourquoi ne pas utiliser la
USERPROFILE
variable d'environnement sur win32?la source
path.resolve()
pourrait fournir une certaine normalisation en termes de barres obliques de fuite, potentiellement étrange avant / barre oblique inverse, etc ... (surtout si vous avez des opérations de fichiers à l' esprit, après avoir obtenu cette information)os.homedir()
a été ajouté par ce PR et fait partie de la version publique 4.0.0 de nodejs.Exemple d'utilisation:
la source
os.homedir()
c'est un sacré nouveau jouet.const os = require('os');
également ajouterEh bien, il serait plus précis de s'appuyer sur la fonction et non sur une valeur variable. D'autant plus qu'il y a 2 variables possibles pour Windows.
EDIT : comme mentionné dans une réponse plus récente, https://stackoverflow.com/a/32556337/103396 est la bonne voie à suivre (
require('os').homedir()
).la source
\users\name
et USERPROFILE ac:\users\name
. Cette méthode n'est donc pas aussi précise et robuste que @maerics 'Utilisez
osenv.home()
. Il est maintenu par isaacs et je crois qu'il est utilisé par npm lui-même.https://github.com/isaacs/osenv
la source
oshome
utiliseos-homedir
sous le capot, si vous ne voulez que cette fonctionnalité.la source