Process.platform devuelve "win32" para Windows. En Windows, el directorio de inicio de un usuario puede ser C: \ Users [USERNAME] o C: \ Documents and Settings [USERNAME] según la versión de Windows que se esté utilizando. En Unix esto no es un problema.
214
Respuestas:
Como se mencionó en una respuesta más reciente , la forma preferida ahora es simplemente:
[Respuesta original] : ¿Por qué no usar la
USERPROFILE
variable de entorno en win32?fuente
path.resolve()
podría proporcionar cierta normalización en términos de barras al final, lo que podría extraña adelante / barras invertidas, etc ... (sobre todo si se tiene en cuenta las operaciones de archivo, después de recibir esta información)os.homedir()
fue agregado por este RP y es parte de la versión pública 4.0.0 de nodejs.Ejemplo de uso:
fuente
os.homedir()
es un juguete bastante nuevo.const os = require('os');
tambiénBueno, sería más preciso confiar en la función y no en un valor variable. Especialmente porque hay 2 posibles variables para Windows.
EDITAR : como se menciona en una respuesta más reciente, https://stackoverflow.com/a/32556337/103396 es el camino correcto a seguir (
require('os').homedir()
).fuente
\users\name
y USERPROFILE lo ha hechoc:\users\name
. Entonces, este método no es tan preciso y robusto como @maerics 'Uso
osenv.home()
. Lo mantiene isaacs y creo que lo usa npm.https://github.com/isaacs/osenv
fuente
oshome
utilizaos-homedir
debajo del capó, si solo quieres esa funcionalidadfuente