React-native : detect dev or production env

JavascriptAndroidReact Native

Javascript Problem Overview


I develop a react-native app where some API calls should be made.

If I'm in production mode my app should call, for example, this host :

https://example.com/

but if I'm in dev mode, it should call my local host machine on a different port, for example :

http://192.168.0.10:8080/

How the react-native code can be aware of its environment ?

.dotenv seems to not work with react-native.

In the Chrome debug, we can see that the application is launched with some params :

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

Can we get this __DEV__ value in the application ?

Thanks

Javascript Solutions


Solution 1 - Javascript

Set automatically

The constant __DEV__ is set automatically.

Production

Building the bundle via --dev=false should unset __DEV__.

Usage

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJules IvanicView Question on Stackoverflow
Solution 1 - JavascriptpuriiView Answer on Stackoverflow