Переменные среды для статического сайта?

#reactjs #environment-variables #google-cloud-storage #static-site #google-secret-manager

#reactjs #переменные среды #google-облачное хранилище #статический сайт #google-secret-manager

Вопрос:

Я рассматриваю возможность развертывания приложения React в качестве статического сайта в облачном хранилище.

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

Возможно ли вообще использовать переменные среды в облачном хранилище?

GCP Secret Manager может быть вариантом, но, похоже, он предназначен для серверной части. И для этого требуется аутентификация, но моя основная цель использования переменных среды — хранить ключи Firebase, используемые при аутентификации firebase.

Есть предложения?

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

1. Нет, в облачном хранилище нет способа установить переменные среды для статически обслуживаемых файлов. Это немного странно, но вы должны поместить этот ключ API в виде открытого текста в HTML / JavaScript для firebase.

2. Вы можете добавить это в свой код на этапе упаковки. Но будьте осторожны, вы будете делиться ключом API с кем угодно. Вы уверены?

Ответ №1:

Вы могли бы разместить свой статический сайт в облачном хранилище, но это не позволяет вам устанавливать на нем переменные среды.

В качестве альтернативы вы могли бы использовать App Engine Standard и развернуть там свой статический сайт. В app.yaml вы сможете это сделать:

Необязательно. Вы можете определить переменные среды в своем файле app.yaml, чтобы сделать их доступными для вашего приложения.

Переменные среды с префиксом GAE зарезервированы для системного использования и не разрешены в файле app.yaml.

Пример:

env_variables: MY_VAR: "my value"

где MY_VAR и my value — это имя и значение переменной среды, которую вы хотите определить, и каждая запись переменной среды с отступом в два пробела под env_variables элементом.