node.js - Node 从 %appdata% 读取文件

标签 node.js filesystems filepath appdata

我正在运行 Node ,我想从 %appdata% 文件夹中读取一个文件,我不想对该路径进行硬编码。

这基本上就是我目前所拥有的:

//...require(some things)
var fs = require('fs');

var fileData;
try{
    fileData = fs.readFileSync('%appdata%/folder/file.txt',{encoding:'utf8'});
}
catch(e){
    console.log(e);
    fileData = 42; //default value
}

//... app.get(some things)
//... app.listen

当我运行它时,我收到消息:

{ [Error: ENOENT, no such file or directory 'C:\projectdirectory\%appdata%\folder\file.txt']

  errno: -4058,

  code: 'ENOENT',

  path: 'C:\projectdirectory\%appdata%\folder\file.txt',

  syscall: 'open' }

如何让它识别 %appdata% 变量?

最佳答案

您必须改为从 process.env 获取值:

fileData = fs.readFileSync(process.env.APPDATA + '/folder/file.txt',{encoding:'utf8'});

关于node.js - Node 从 %appdata% 读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32012190/

相关文章:

bash - 为什么我的循环有时不读取整行?

node.js - npm启动错误: Cannot find module 'C:\' and Exit status 8

javascript - 如何在node.js和ejs中提交表单而不刷新?

node.js async.js nextTick vs setImmediate

javascript - JavaScript 中的正则表达式,如果使用后跟问号的分组,则始终为 ‘undefined’

ruby - 需要子目录中的所有文件

python - 检查文件系统是否支持硬链接(hard link)

c - 如何检测FAT32数据区的目录结束?

Python pathlib.Path - 如何获取与平台无关的文件分隔符作为字符串?

python - 在 Python 中,如何获取给定文件路径的文件系统