как использовать Dotenv с react-скриптами и без Webpack

#reactjs #environment-variables #dotenv #react-scripts

Вопрос:

Я изучаю этот проект React из репозитория ниже, и process.env не возвращает никаких значений (не определено, когда я их регистрировал в консоли). Переменные объявлены в файле .env.local, созданном в корневом каталоге в соответствии с инструкциями репозитория, и все они имеют префикс REACT_APP_, в котором отсутствует веб-пакет. Он использует скрипты реакции для загрузки при запуске yarn. Может ли кто-нибудь посоветовать, почему это не работает?

мерзавец-клон https://github.com/figment-networks/learn-solana-dapp

Спасибо:)

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

1. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.

Ответ №1:

Вы можете попробовать сначала не настраивать dotenv, переименовав .env.example в .env.local или любое из приведенных ниже имен ссылок, так как я полагаю, что это было создано с create-react-app помощью (из-за наличия react-scripts )

https://create-react-app.dev/docs/adding-custom-environment-variables/#what-other-env-files-can-be-used

Хотя у него установлен dotenv, он, похоже, не использует его, чтобы использовать его, нужно сделать следующее:

Добавьте это в начало index.js внутри src:

 import path from 'path';
import dotenv from 'dotenv';
dotenv.config({ path: path.join(__dirname, '../.env.example') });
 

dotenv должен быть настроен для использования его переменных, но не должен быть необходим в create-react-app