Есть ли способ получить данные без ввода адреса сервера

#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-адрес, используя имя хоста в переменной конфигурации.