2017-06-06 10 views
2

Ich versuche docs zu folgen auf env Variablen reagieren-create-App ohne Erfolg und fügte hinzu:Reagieren env Variablen mit .env

https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#adding-custom-environment-variables

enter image description here

  • innerhalb Wurzel des Dokuments Ich habe eine ".env" Datei (Standard .env Eigenschaften)
  • .env Datei enthält nur eine Variable 'REACT_APP_API_HOST = http://localhost:8080'
  • versucht process.env in meinem App zuzugreifen (erstellt mit erstellen reagieren app) me

Diese app.js undefined gibt, wo ich versuche process.env ohne Erfolg zuzugreifen.

Ich kann nicht auf process.env innerhalb des Codes zugreifen. Gibt es ein Arbeitsbeispiel, wie es geht?

+0

Ist NODE_ENV in Ihrem Pfad definiert? –

+0

Nein, aber .env als Standard ist definiert. – Ante

+0

Auch versucht mit definierten NODE_ENV und immer noch nicht funktioniert. – Ante

Antwort

1

In Ihrer package.json müssen Sie schließlich NODE_ENV=development bei Ihrem Start-Skript hinzufügen. Z.B. NODE_ENV=development && node scripts/start.js für die ausgeworfenen create-react-app und NODE_ENV=development react-scripts start für die unausgesprochene.

Edit: Anscheinend NODE_ENV=development ist nicht erforderlich, da es bereits fest codiert ist, wenn Sie das start oder build Skript ausführen. Für die Dokumente sollten Ihre benutzerdefinierten Umgebungsvariablen das folgende Format haben: REACT_APP*, wie Sie es bereits getan haben.

Ein Schnipsel wäre hilfreich.

+0

Problem war, dass ich versuchte, es im Debug-Modus zu lesen, indem ich Variablen beobachtete. Aus irgendeinem Grund funktioniert es nicht. Indem Sie es einfach loggen, funktioniert es. – Ante

2

Sie können die Datei .env im Root-Verzeichnis verwenden.

  • start: react-scripts start - verwendet .env.development
  • build_staging: "set REACT_APP_ENV=staging & react-scripts build" - verwendet .env.staging
  • build: "react-scripts build" - verwendet .env.production