Как получить baseURL для API node.js? - PullRequest
0 голосов
/ 30 января 2019

Я создаю оболочку graphql на сервере моего приложения-узла.и мне нужно, чтобы домен API был правильным.

трудно гуглить эту фразу.

const baseURL = `http://localhost:8001/api`

Я могу запустить это локально, но после развертывания кода он не будет работать, так как домен будет другим.Как можно установить переменную baseURL?

Ответы [ 3 ]

0 голосов
/ 30 января 2019

Есть несколько способов добиться этого.

Метод 1: Вы можете использовать атрибуты заголовка

var host = req.get('host');

Но это вернет только домен, в вашемcase

http://localhost:8001/

Так что это может не достичь вашей цели.

Метод 2: Создайте файл .env в корневой папке, а затем вы можете использовать пакет dotenv для доступа к baseurl.

Содержимое в файле .env

BASEURL = http://localhost:8001/api 

А теперь в любом файле, к которому вы хотите получить доступ, сначала установите пакет dotenv , используя npm, а затем потребуйте, чтобы пакет dotenv использовал следующий синтаксис

require('dotenv').config();

После этого внутри вашей функции, используйте этот синтаксис, чтобы получить baseurl из файла .env

const baseURL = process.env.BASEURL;
0 голосов
/ 30 января 2019
var host = req.get('host');

хост возвращает базовый URL-адрес, как (http://localhost:8001/) или, если использовать домен, возвращает доменное имя.

у меня уже есть хост, только concat host с 'api'.

const baseURL = host + 'api';
0 голосов
/ 30 января 2019

использовать атрибуты этого заголовка.Вы можете определить домен таким образом.
var host = req.get('host'); var origin = req.get('origin');
или
var host = req.headers.host; var origin = req.headers.origin;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...