节点从%appdata%读取文件

时间:2015-08-14 14:12:49

标签: node.js filesystems filepath appdata

我正在运行节点,我想从%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

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

  

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

     

错误:-4058,

     

代码:'ENOENT',

     

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

     

系统调用:'打开'}

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

1 个答案:

答案 0 :(得分:6)

您必须从process.env获取值:

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