反应本地 DEV 和 PROD 变量

我如何知道我的反应本机应用程序是在生产或开发中运行?在 JavaScript 中有什么方法可以告诉我们吗?是否有一个传入的全局变量?

53053 次浏览

You can use the __DEV__ global variable in JavaScript to determine if you're using React Native packager or not. If you are running your app in the iOS Simulator or Android emulator __DEV__ will be set to true.

https://reactnative.dev/docs/javascript-environment

When the __DEV__ variable is set to true, it turns on a bunch of useful development warnings. For production, it is recommended to set __DEV__=false.

You can use the __DEV__ variable. By default if you run your app with npx react-native run-ios or npx react-native run-android, it will run in Debug mode and __DEV__ will be true. In release mode, __DEV__ will be false. You can use it this way:

const CLOUD_API_BASE_URL = __DEV__ ? 'https://api-dev.yourdomain.com' : 'https://api-prod.yourdomain.com';

You can run the app in Release mode with the terminal: react-native run-android --variant release #android react-native run-ios --configuration Release #ios

Or open the ios folder in XCode, choose Product > Scheme > Edit Schemes xcode edit scheme Select Run in the left menu. For Build Configuration, choose 'Release' and uncheck 'Debug executable'

enter image description here

In Android Studio, similarly, you can set the build variant to release enter image description here