Я создаю оболочку graphql на серверной части моего приложения node. и мне нужно, чтобы домен API был правильным.
трудно нагуглить эту фразу.
const baseURL = `http://localhost:8001/api`
Я могу запустить это локально, но после того, как я разверну свой код, он не будет работать, так как домен другой. Как можно установить переменную baseURL?





используйте эти атрибуты заголовка. таким образом вы можете идентифицировать домен.
var host = req.get('host');
var origin = req.get('origin');
или
var host = req.headers.host;
var origin = req.headers.origin;
Есть несколько способов добиться этого.
Способ 1: Вы можете использовать атрибуты заголовка
var host = req.get('host');
Но это вернет только домен, в вашем случае
http://localhost:8001/
Так что это может не достичь вашей цели.
Способ 2: Создайте файл .env в корневой папке, а затем вы можете использовать пакет dotenv для доступа к baseurl.
Содержимое в файле .env
BASEURL = http://localhost:8001/api
И теперь в любом файле, к которому вы хотите получить доступ, сначала установите пакет дотенв, используя npm, а затем потребуйте этот пакет dotenv, используя приведенный ниже синтаксис.
require('dotenv').config();
После этого внутри вашей функции используйте этот синтаксис, чтобы получить baseurl из файла .env
const baseURL = process.env.BASEURL;
var host = req.get('host');
host return base url like (http://localhost:8001/) or if use domain then return domain name.
i have already host just concat host with 'api'.
const baseURL = host + 'api';
это не во время запроса, это домен приложения
мне нужен базовый URL-адрес, когда я запускаю сервер graphql, а не во время запроса. есть ли глобальный объект req?