URL-адрес API GCP VueJS, разрешающий базовый url-адрес, а не URL-адрес api

# #vue.js #google-app-engine #google-cloud-platform #vuejs2

Вопрос:

Я использую Google App Engine для размещения приложения VueJS и пытаюсь заставить свое приложение взаимодействовать с моим внутренним API.

Я использую переменную ENV для объявления пути к моему API, однако, когда запрос помещается в GCP, URL-адрес по умолчанию https://example.com/undefined/api/resource указывает, когда он должен быть https://api.example.com/api/resource , а также не имеет undefined .

Поскольку я получаю undefined ошибку, я подозреваю, что App Engine не может предоставить VUE_APP_API_URL ее на внешний интерфейс.

Как я могу заставить свое приложение VueJS находить и использовать переменную env в app engine и использовать правильный URL api?

URL-адрес переднего плана выглядит так example.com

URL API выглядит так api.example.com

Доступ к переменной с помощью process.env.VUE_APP_API_URL

приложение.yaml

 runtime: nodejs10

env_variables:
  VUE_APP_API_URL: "https://api.example.com"

handlers:
  - url: /(.*.. )$
    static_files: dist/1
    upload: dist/(.*.. )$
  - url: /.*
    static_files: dist/index.html
    upload: dist/index.html
 

Комментарии:

1. Покажите код того, как вы пытаетесь получить доступ к переменной в VueJS

2. @NoCommandLine — Обновил вопрос, спасибо. С помощью process.env.VUE_APP_API_URL

3. Мой опыт показывает, что на Mac process.env возвращает пустые значения для множества переменных, но в Windows он возвращает значения. Я не знаю почему, и, возможно, я что-то упускаю. Как и ты, это вызывало у меня сильную головную боль, когда я строил nocommandline.com . Мое решение состоит в том, чтобы явно установить значение по умолчанию для переменных среды, т. Е. Я проверяю, равно ли значение null, и если да, то я явно присваиваю значение. Чтобы было ясно, у меня нет этой проблемы для всех переменных env. Например, process.env.NODE_ENV возвращает значения, но ПУТЬ и т. Д. Все они равны нулю