gpt4 book ai didi

javascript - 在node.js中的utils.js文件中创建全局变量

转载 作者:太空宇宙 更新时间:2023-11-04 01:20:02 25 4
gpt4 key购买 nike

嗨,我目前正在尝试弄清楚如何在 node.js 中正确定义全局变量。我知道这样做不是一个好的做法,但在这个特定的场景中,这是在不使用数据库连接的情况下执行此操作的唯一方法。

我正在从 github API 获取数据来显示一些信息,我试图将它们存储在全局变量中。它应该允许我将特定对象从第一个全局列表传递到仅显示所选项目的新全局列表。

我有一个名为 utils.js 的文件,其中有两个应该是全局的空数组:

let repoItems = [];
let bookmarkedItems = [];

exports.repoItems = repoItems;
exports.bookmarkedItems = bookmarkedItems;

然后我有另一个文件来获取并应该将项目分配给第一个全局变量,但看起来并没有。因为此刻我试图选择一个项目并将其插入第二个空数组,这是不可能的,我得到的是空数组。我不确定错误是否是由于其他文件中全局变量的错误实现或其他原因造成的:/

下面我包含了代码的获取部分,其中粗体部分是我感到困惑的:

let utils = require('../utils');

let {
repoItems,
} = utils;

router.get('/', async (req, res) => {
try {
const result = await fetchGithubAPI(`searching word`);
const urls = result.map(url => url);
console.log(urls);
res.render('repositories.ejs', {
'data': urls
});
} catch (e) {
console.log(e);
}
});

async function fetchGithubAPI(search) {
const response = await fetch(`https://api.github.com/?q=${search}`, {
method: 'GET',
headers: {
'Accept': 'application/vnd.github.v3+json',
'Content-Type': 'application/json',
},
});
const data = await response.json();
**repoItems = data.items.map(item => item);**
return repoItems;
}

最佳答案

尝试:

let repoItems = require('./utils').repoItems

而不是

let {
repoItems,
} = utils;

关于javascript - 在node.js中的utils.js文件中创建全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59628587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com