Node.js – Trouver le répertoire personnel de manière indépendante de la plate-forme

Process.platform renvoie “win32” pour Windows. Sous Windows, le répertoire de base d’un utilisateur peut être C: \ Users [NOM D’UTILISATEUR] ou C: \ Documents and Settings [NOM D’UTILISATEUR] selon la version de Windows utilisée. Sur Unix, ce n’est pas un problème.

Comme mentionné dans une réponse plus récente , la méthode préférée est maintenant simplement:

const homedir = require('os').homedir(); 

[Réponse originale] : Pourquoi ne pas utiliser la variable d’environnement USERPROFILE sur win32?

 function getUserHome() { return process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME']; } 

os.homedir() été ajouté par ce PR et fait partie de la version publique 4.0.0 de nodejs.


Exemple d’utilisation:

 const os = require('os'); console.log(os.homedir()); 

Eh bien, il serait plus précis de compter sur la fonctionnalité et non sur une valeur variable. Surtout qu’il existe 2 variables possibles pour Windows.

 function getUserHome() { return process.env.HOME || process.env.USERPROFILE; } 

EDIT : comme mentionné dans une réponse plus récente, https://stackoverflow.com/a/32556337/103396 est la bonne façon de procéder ( require('os').homedir() ).

Utilisez osenv.home() . Il est maintenu par les isaacs et je crois qu’il est utilisé par npm lui-même.

https://github.com/isaacs/osenv