переменные process.env не определены Приложение React — не использует create-react-app

#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()