Переменная .env возвращает неопределенное значение в приложении React JS - PullRequest
1 голос
/ 06 января 2020

Я работаю над этим приложением реагирования и думаю добавить в него некоторые переменные окружения, вот что я сделал:

  1. установил последнюю версию реагирующих сценариев
  2. добавлен файл .env в папку root (там же, где находится папка node_modules)
  3. добавлен REACT_APP_OTHER_OTHER_THING = asdf для проверки переменной
REACT_APP_OTHER_OTHER_THING=asdfas
открыть индекс. js и console.log (process.env.REACT_APP_OTHER_OTHER_THING) внутри, чтобы увидеть вывод
import React from 'react';
import Reactdom from 'react-dom';
import App from './App';

console.log(process.env.REACT_APP_OTHER_OTHER_THING, 'DOTENV')

Reactdom.render(<App/>, document.getElementById("app"))

, затем я перестроил приложение и запустил приложение, чтобы увидеть результат, но затем выдает неопределенное в качестве вывода для process.env.REACT_APP_OTHER_OTHER_THING. Затем я попытался напечатать process.env.NODE_ENV (который работает и выводит «development» в качестве вывода).

примечание: я также попытался добавить временную переменную, как указано в документации https://create-react-app.dev/docs/adding-custom-environment-variables >> пересобрать сервер и запустить ($ env: REACT_APP_OTHER_OTHER_THING = "abcdef") -and (npm start) << из-за того, что я запустил его на powershell, который по-прежнему выдает в качестве вывода значение undefined. </p>

Могу ли я что-нибудь сделать с этим? спасибо

Ответы [ 2 ]

2 голосов
/ 09 января 2020

Хорошо, проблема, похоже, возникла из веб-пакета, который я сделал в своем приложении React,

Я пытался следовать инструкции из этой статьи , и она работает хорошо!

после настройки моего веб-пакета я перестроил его, перезапустил сервер, и он заработал!

1 голос
/ 06 января 2020

Не могу комментировать, поэтому я опубликую ответ, извините.

Вы уверены, что насчет ($REACT_APP_OTHER_OTHER_THING= "abcdef") -and (npm start), потому что в документах написано ($env:REACT_APP_NOT_SECRET_CODE = "abcdef") -and (npm start)

Я только что добавил новый env var, и это дало мне неопределенный, но после перезапуска сервера он работал просто отлично. Можете ли вы попытаться перезапустить сервер, но добавить переменную env не в терминале, а внутри .env файла?

UPD1: как вы знаете, NODE_ENV устанавливается командами npm start или npm run build, они установлены на development или production, соответственно.

Как сказано в документации:

Вы не можете переопределить NODE_ENV вручную. Это не позволяет разработчикам случайно развернуть медленную сборку разработки в производство.

...