的过程。Windows平台返回"win32"。在Windows上,用户的主目录可能是C:\Users[USERNAME]或C:\Documents and Settings[USERNAME],这取决于正在使用的Windows版本。在Unix上,这不是问题。
当前回答
好吧,依赖于特征而不是变量值会更准确。特别是Windows有两个可能的变量。
function getUserHome() {
return process.env.HOME || process.env.USERPROFILE;
}
编辑:正如在最近的回答中提到的,https://stackoverflow.com/a/32556337/103396是正确的方法(require('os').homedir())。
其他回答
使用osenv.home()。它由isaacs维护,我相信npm自己也在使用。
https://github.com/isaacs/osenv
好吧,依赖于特征而不是变量值会更准确。特别是Windows有两个可能的变量。
function getUserHome() {
return process.env.HOME || process.env.USERPROFILE;
}
编辑:正如在最近的回答中提到的,https://stackoverflow.com/a/32556337/103396是正确的方法(require('os').homedir())。
在某些情况下尝试使用这个:
this.process.env.USERPROFILE
or
this.nw.process.env.USERPROFILE
也就是加上这个或者这个。加工前Nw
os.homedir()由此PR添加,是nodejs公共4.0.0版本的一部分。
使用示例:
const os = require('os');
console.log(os.homedir());
正如在最近的一个回答中提到的,现在首选的方式很简单:
const homedir = require('os').homedir();
[原答案]为什么不在win32上使用USERPROFILE环境变量?
function getUserHome() {
return process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'];
}
推荐文章
- 有没有办法修复包锁。json lockfileVersion所以npm使用特定的格式?
- 如何使用npm全局安装一个模块?
- 实时http流到HTML5视频客户端的最佳方法
- 使用node.js下载图像
- Node.js Express中的HTTP GET请求
- Node.js:将文本文件读入数组。(每一行都是数组中的一项。)
- npm犯错!错误:EPERM:操作不允许,重命名
- Node Sass还不支持当前环境:Linux 64位,带false
- 我如何添加环境变量启动。VSCode中的json
- 解析错误:无法读取文件“…/tsconfig.json”.eslint
- 在Node.js中'use strict'语句是如何解释的?
- 当WebSockets可用时,为什么要使用AJAX ?
- 使用过程。TypeScript中的env
- 如何找到哪些承诺未处理在Node.js UnhandledPromiseRejectionWarning?
- 如何卸载Yarn