288 votes

Node.js - Trouver le répertoire de base de manière agnostique de plateforme

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.

455voto

maerics Points 47743

Pourquoi ne pas utiliser la variable d’environnement USERPROFILE sur win32?

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

82voto

Oncle Tom Points 437

Eh bien, il serait plus précis de s'appuyer sur la fonctionnalité et non sur une valeur variable. D'autant qu'il y a 2 variables possibles pour Windows.

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

3voto

David Braun Points 773

Utilisez Pwuid .

 $ npm install pwuid
 

puis

 var pwuid = require('pwuid');

console.log(pwuid());
/*
{
    name: 'sindresorhus',
    uid: 501,
    gid: 20,
    gecos: 'Sindre Sorhus',
    dir: '/Users/sindresorhus',
    shell: '/bin/zsh'
}
*/
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X