Константы .env не читаются в проекте React - PullRequest
0 голосов
/ 08 февраля 2020

У меня проблема с попыткой получить константы нашего моего .env файла в приложении React. Моя структура приложения довольно проста c:

my-react-app/
|- .env
|- .gitignore
|- .prettierrc
|- node-modules/
|- public/
|- src/
   |- Base.js
   |- App.js
|- package.json
|- yarn.lock
|- README.md

Я использую react-scripts версию "3.2.0"

.env выглядит так:

# .env
# Auto-logout values
REACT_APP_LOGOUT_PERIOD_MINS=15 

и файл Base.js выглядит следующим образом:

require('dotenv').config({ path: '../.env' })
console.log(process.env)

export const LOGOUT_PERIOD_MINS = process.env.REACT_APP_LOGOUT_PERIOD_MINS

Что я получаю из console.log() в Base.js:

{NODE_ENV: "development", PUBLIC_URL: ""}

I ' мы пытались поместить Base в каталог root, что приводит к ошибкам, поскольку он находится вне src. Я пробовал с и без настройки path config. Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 08 февраля 2020

Согласно моему комментарию, вы, вероятно, захотите закрыть окно терминала и повторно запустить yarn start с терминала fre sh. 9/10 это причина того, что env var не появляется. :)

2 голосов
/ 08 февраля 2020

Не думаю, что вам нужен dotenv в CRA, он должен работать без него. Явный импорт и установка пути могут переопределить настройку CRA .env по умолчанию.

...