#javascript #node.js #reactjs
#javascript #node.js #reactjs
Вопрос:
У меня есть пользовательское приложение React, и оно не используется create-react-app
. Проблема в том, что я могу использовать dotenv
переменные окружения и локально через .env
файл, но когда они находятся в рабочем process.env
состоянии, это undefined
полностью.
Я не знаю, как заставить его работать. Я добавил переменные среды на свой сервер в Google Cloud, но сам process.env даже не определен, тот же код, который работал локально, не работает на виртуальном сервере prod.
Так, например, что-то подобное работает локально, но не в производстве:
if (process.env.NODE_ENV === 'development') {
response = await request.post(process.env.GRAPHQ_LOCAL).send(query);
} else {
response = await request.post(process.env.GRAPHQL_PROD).send(query);
}
Комментарии:
1. Под «в производстве» вы имеете в виду, когда вы обслуживаете встроенный HTML / CSS / JS? Это просто статические файлы, у них нет доступа к переменным env для того, что их обслуживает. Эти значения должны быть установлены во время сборки , или вам нужно иметь некоторую конфигурацию во время выполнения (я предпочитаю последнее, я больше писал о том, почему и как это сделать здесь ).
Ответ №1:
В начальный файл вашего проекта добавьте инициализацию dotenv…
если вы установите этот пакет, он должен работать
require('dotenv').config()