Я пишу API в NodeJS и наткнулся на кирпичную стену. Я пытаюсь использовать функцию, чтобы получить переменную и использовать 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 file
{
"WorkingDirectory": "/home/user/UniTV",
"Port": "3000"
}
В консоли оно будет отображаться как неопределенное, когда должно появиться со значением «рабочего каталога» в /home/user/.unitv
Любая помощь приветствуется, спасибо.