React-native : dev oder production env erkennen

Lesezeit: 1 Minute

Benutzer-Avatar
Jules Ivanic

Ich entwickle eine React-Native-App, bei der einige API-Aufrufe getätigt werden sollen.

Wenn ich mich im Produktionsmodus befinde, sollte meine App beispielsweise diesen Host aufrufen:

https://example.com/

aber wenn ich im dev-Modus bin, sollte es meinen lokalen Host-Rechner auf einem anderen Port anrufen, zum Beispiel:

http://192.168.0.10:8080/

Wie kann sich der React-Native-Code seiner Umgebung bewusst sein?

.dotenv Scheint mit React-Native nicht zu funktionieren.

Im Chrome-Debug können wir sehen, dass die Anwendung mit einigen Parametern gestartet wird:

Running application "AppName" with appParams: {"initialProps":{},"rootTag":1}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF

Können wir das bekommen __DEV__ Wert in der Anwendung?

Vielen Dank

Automatisch einstellen

Die Konstante __DEV__ wird automatisch eingestellt.

Produktion

Erstellen des Bündels über --dev=false sollte unscharf werden __DEV__.

Verwendungszweck

if (__DEV__) {
    console.log('Development');
} else {
    console.log('Production');
}

  • OK danke. Kennen Sie eine Möglichkeit, env-Variablen zu setzen?

    – Jules Ivanic

    16. Dezember 2015 um 16:59 Uhr

  • Nein Entschuldigung. In meinen Projekten verwende ich oft eine Konfigurationsdatei, die einige Konstanten wie eine API-Url exportiert. Dies ist nützlich, um verschiedene Builds einer App zu erstellen, z. B. Beta und Produktion.

    – Purii

    16. Dezember 2015 um 17:07 Uhr

  • OK. Wir wollen genau keine unterschiedlichen Builds.

    – Jules Ivanic

    16. Dezember 2015 um 17:58 Uhr

  • siehe auch Kann der React-Native Bundler ungenutzte Dateien erkennen?

    – Top-Master

    25. April 2019 um 7:39 Uhr

  • benutzen env Datei in RN, die Sie verwenden können npmjs.com/package/react-native-dotenv Paket

    – David

    20. März 2020 um 9:32 Uhr

1187040cookie-checkReact-native : dev oder production env erkennen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy