Process.platform retorna "win32" para Windows. No Windows, o diretório inicial do usuário pode ser C: \ Users [USERNAME] ou C: \ Documents and Settings [USERNAME], dependendo da versão do Windows que está sendo usada. No Unix, isso não é um problema.
214
Respostas:
Como mencionado em uma resposta mais recente , a maneira preferida agora é simplesmente:
[Resposta original] : Por que não usar a
USERPROFILE
variável de ambiente no win32?fonte
path.resolve()
pode fornecer alguma normalização em termos de barras à direita, potencialmente estranho frente / barras invertidas, etc ... (especialmente se você tem operações de arquivo em mente, depois de obter essa informação)os.homedir()
foi adicionado por este PR e faz parte do lançamento público 4.0.0 do nodejs.Exemplo de uso:
fonte
os.homedir()
é um brinquedo novo e muito danado.const os = require('os');
tambémBem, seria mais preciso confiar no recurso e não em um valor variável. Especialmente porque existem 2 variáveis possíveis para o Windows.
EDIT : como mencionado em uma resposta mais recente, https://stackoverflow.com/a/32556337/103396 é o caminho certo a seguir (
require('os').homedir()
).fonte
\users\name
e o USERPROFILEc:\users\name
. Portanto, esse método não é tão preciso e robusto quanto o @maerics 'Use
osenv.home()
. É mantido pelo isaacs e acredito que seja usado pelo próprio npm.https://github.com/isaacs/osenv
fonte
oshome
usaos-homedir
sob o capô, se você quiser apenas essa funcionalidade.fonte