Javascript 来自json文件的My node js fetch函数未在控制台上显示json数据

Javascript 来自json文件的My node js fetch函数未在控制台上显示json数据,javascript,node.js,json,fetch,Javascript,Node.js,Json,Fetch,我不熟悉NodeJS,目前正在构建一个web服务器,以便从json文件夹中的json文件中获取och团队成员列表,但我的fetch函数没有在控制台上显示数据。我得到一个类型错误:只支持绝对URL。这是我的密码: const express = require('express'); const fetch = require('node-fetch'); const app = express(); const host = "127.0.0.1" const port

我不熟悉NodeJS,目前正在构建一个web服务器,以便从json文件夹中的json文件中获取och团队成员列表,但我的fetch函数没有在控制台上显示数据。我得到一个类型错误:只支持绝对URL。这是我的密码:

const express = require('express');
const fetch = require('node-fetch');

const app = express();

const host = "127.0.0.1"
const port = 3000

async function loadTeams() {
    return (await fetch("/prov-nodes.json")).json();
    
}

app.get('/', (req, res) => {
    let teams = [];
    loadTeams()
      .then(response => response.json())
      .then(function(data){   
        teams = data; 
        console.log(teams);  
            //res.send(data);
      })
      .catch(error => console.log(error))
      res.send("My root page");
      console.log(teams);  


});

app.get('/maths', (req, res) => {
    res.send("My maths page")
});


app.listen(port, host, () => {
    console.log(`The server is running at: http://${host}:${port}`);
});

我认为您应该尝试使用本地文件的绝对路径,如D://somewhere/your_project//prov-nodes.json

await fetch("D://somewhere/your_project//prov-nodes.json")).json();

@Jaromanda和@Jared Smith问如果fetch在本地文件夹中,我为什么要使用它?我最近在学习React时使用了fetch,所以我尝试以同样的方式使用它。这是否意味着不应在节点js中的本地文件夹上使用Fetch?那么,安装节点获取仅适用于获取http url?
我把我的代码改成了“fs”,它就成功了。但是我可以通过终端看到json数据,但不能在浏览器的“开发工具”控制台上看到。

fetch(“/prov nodes.json”)
不是绝对url,而是绝对路径-错误表明需要使用绝对url。。。i、 e.您需要
http[s]://domain.com/prov nodes.json
-其中
domain.com
也是您请求数据的服务器,因为LoadTeam返回
.json()
结果<然后(response=>response.json())将失败是。。。因为fetch-in节点仅适用于绝对URL,正如错误明确指出的,并且正如我在第一篇评论中解释的,如果是本地文件夹,为什么要使用fetch?如果文件
prov-nodes.js
存在于代码可访问的文件夹中。。。为什么
fetch
it?使用
fs
方法读取并发送它!!!您似乎对客户端和服务器端之间的区别感到非常困惑。我建议在谷歌上搜索一下两者的区别。