我正在运行节点,我想从%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%变量?
答案 0 :(得分:6)
您必须从process.env
获取值:
fileData = fs.readFileSync(process.env.APPDATA + '/folder/file.txt',{encoding:'utf8'});