#node.js #api #server #fetch
#node.js #API #сервер #извлечение
Вопрос:
Это может быть действительно глупый вопрос, но есть ли способ получить данные без ввода адреса сервера? Мне интересно, могу ли я просто использовать «/ init» вместо «http://localhost:3000/init »
try{
const result = await fetch("http://localhost:3001/init",
{
method:"GET",
headers:{
"content-type":"application/json"
}
});
response = await result.json();
}
catch(e){
console.log(e);
}
Ответ №1:
Есть ли способ получить данные без ввода адреса сервера
Нет.
В node.js , node-fetch
требуется полный URL-адрес. Не существует целевого домена или пути «по умолчанию», которые он мог бы заменить, например, внутри веб-страницы браузера с версией браузера fetch()
.
Из документации по извлечению узла:
fetch(url[, options])
url should be an absolute url, such as https://example.com/.
A path-relative URL (/file/under/root) or protocol-relative URL
(//can-be-http-or-https.com/) will result in a rejected Promise.
Если проблема, которую вы действительно пытаетесь решить здесь, заключается в том, чтобы иметь возможность писать код, который будет работать с разными хостами (выполняться локально и в среде хостинга), тогда вы можете задать какую-то конфигурационную переменную с именем хоста, а затем создать свой URL-адрес, используя имя хоста в переменной конфигурации.