如何在函数生成的两个文件之间共享变量

我正在用 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 中的“工作目录”的值时,它将变成未定义


感谢任何和所有帮助,谢谢。


Cats萌萌
浏览 191回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript