节点从%appdata%读取文件

Dea*_*Eli 2 filesystems filepath appdata node.js

我正在运行节点,我想从%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
Run Code Online (Sandbox Code Playgroud)

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

{[错误:ENOENT,没有这样的文件或目录'C:\ projectdirectory \%appdata%\ folder\file.txt']

  错误:-4058,

  代码:'ENOENT',

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

  系统调用:'打开'}

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

msc*_*dex 8

你必须从中得到价值process.env:

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