Node.js – 以平台不可知的方式查找主目录
Process.platform为Windows返回“win32”。 在Windows上,用户的主目录可能是C:\ Users [USERNAME]或C:\ Documents and Settings [USERNAME],具体取决于正在使用哪个版本的Windows。 在Unix上这不是问题。
为什么不在win32上使用USERPROFILE
环境variables?
function getUserHome() { return process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME']; }
编辑 :正如在最近的答案中提到的, https://stackoverflow.com/a/32556337/103396是正确的路要走(; require('os').homedir()
)。
os.homedir()
是由这个PR添加的,并且是nodejs公共4.0.0版本的一部分。
那么依靠这个特性而不是一个variables值会更准确。 尤其是Windows有两个可能的variables。
function getUserHome() { return process.env.HOME || process.env.USERPROFILE; }
编辑 :正如在最近的答案中提到的, https://stackoverflow.com/a/32556337/103396是正确的路要走(; require('os').homedir()
)。
使用osenv.home()
。 它由isaacs维护,我相信它是由npm自己使用的。