React Native DEV和PROD变量

Rya*_*ott 53 react-native

我怎么知道我的React Native应用程序是否在生产或开发中运行?在JavaScript中有什么方法可以说明吗?是否有全球传入?

Aus*_*tin 87

您可以__DEV__在JavaScript中使用全局变量来确定您是否使用了React Native packager.如果您在iOS模拟器中运行您的应用程序,则Android模拟器__DEV__将设置为true.

https://facebook.github.io/react-native/docs/javascript-environment.html

  • 此外,如果您使用`react-native run-*`在物理设备上运行应用程序 (12认同)
  • 链接现在是404 (8认同)
  • 当你使用`--configuration Release`在模拟器中运行时怎么办?这仍然使用React Native包装器并将`__DEV__`设置为`true`吗? (7认同)
  • 由于上面的链接现在消失了,这是我能找到的最接近原始参考的东西(它不是很好).https://github.com/facebook/react-native/blob/b983de9c5460e24c95a9a67f02695cd1c5f31bc5/docs/javascript-environment.md (2认同)

Rap*_*nel 9

您可以使用该__DEV__变量。npx react-native run-ios默认情况下,如果您使用或运行应用程序npx react-native run-android,它将在调试模式下运行并且__DEV__为 true。在发布模式下,__DEV__将为 false。您可以这样使用它:

const CLOUD_API_BASE_URL = __DEV__ ? 'https://api-dev.yourdomain.com' : 'https://api-prod.yourdomain.com';
Run Code Online (Sandbox Code Playgroud)

您可以使用终端以发布模式运行应用程序: react-native run-android --variant release#android react-native run-ios --configuration Release#ios

或者在XCode中打开ios文件夹,选择Product>Scheme>EditSchemes Xcode 编辑方案 在左侧菜单中选择“运行”。对于构建配置,选择“发布”并取消选中“调试可执行文件”

在此输入图像描述

同样,在 Android Studio 中,您可以将构建变体设置为release 在此输入图像描述

  • 如果我有多个变体( uat 、 sat 、 prod )而不仅仅是简单的(调试或发布)怎么办,我想确切地知道构建 gradle 中的那块切换开关 __DEV__ true 或 false ,我找不到任何资源告诉我去做这个 (2认同)