我正在用 NodeJS 编写 API,但遇到了一堵砖墙。我正在尝试使用一个函数来获取一个变量并使用 module.exports 在另一个文件中使用所述变量。然而,这在控制台中一直显示为未定义。
我已经尝试在文件的不同位置使用 return 语句,但我一直未定义。
这就是获取变量并将其导出的代码。
文件 1 (api.js)
const fs = require('fs');
const homeDir = require('os').homedir();
module.exports = {
workingDirectory: () => {
let dir;
fs.access(`${homeDir}/.unitv`, fs.constants.F_OK, (err) => {
if(err) throw err;
fs.readFile(`${homeDir}/.unitv`, 'utf8', (readErr, data) => {
if(readErr) throw readErr;
let jsonData = JSON.parse(data);
dir = jsonData.WorkingDirectory;
});
});
return dir;
}
};
档案 2
const api = require('../api');
console.log(api.workingDirectory);
.unitv 文件
{
"WorkingDirectory": "/home/user/UniTV",
"Port": "3000"
}
在控制台中,当它应该出现在 /home/user/.unitv 中的“工作目录”的值时,它将变成未定义
感谢任何和所有帮助,谢谢。
相关分类