的过程。Windows平台返回"win32"。在Windows上,用户的主目录可能是C:\Users[USERNAME]或C:\Documents and Settings[USERNAME],这取决于正在使用的Windows版本。在Unix上,这不是问题。
当前回答
使用osenv.home()。它由isaacs维护,我相信npm自己也在使用。
https://github.com/isaacs/osenv
其他回答
os.homedir()由此PR添加,是nodejs公共4.0.0版本的一部分。
使用示例:
const os = require('os');
console.log(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())。
正如在最近的一个回答中提到的,现在首选的方式很简单:
const homedir = require('os').homedir();
[原答案]为什么不在win32上使用USERPROFILE环境变量?
function getUserHome() {
return process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'];
}
getUserRootFolder() {
return process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE;
}
推荐文章
- npm犯错!代码UNABLE_TO_GET_ISSUER_CERT_LOCALLY
- Access-Control-Allow-Origin不允许Origin < Origin >
- 如何获得所有已注册的快捷路线?
- 你可以为你的组织托管一个私有的存储库来使用npm吗?
- 如何定位父文件夹?
- Gulp命令未找到-安装Gulp后错误
- 在Node.js中写入文件时创建目录
- 如何将自定义脚本添加到包中。Json文件,运行javascript文件?
- 使用child_process。execSync但保持输出在控制台
- SyntaxError:在严格模式下使用const
- 在Node.js中递归复制文件夹
- 如何在node.js中设置默认时区?
- “react-scripts”不被视为内部或外部命令
- 如何正确地读取异步/等待文件?
- 错误:无法验证nodejs中的第一个证书