我有一个在 Expo 中内置的 React Native 应用程序,它连接到 Rest API。其余 api 共有三种环境 - dev、uat 和 Production,如下(示例)。
dev = https://dev.myapi.com/api
uat = https://uat.myapi.com/api
prod = https://prod.myapi.com/api
Run Code Online (Sandbox Code Playgroud)
根据应用程序的使用位置,它需要连接到正确的环境。
Running in the Expo Client = Dev API
Running in TestFlight or Internal Testing for the Play Store = UAT API
Running in the App Store or Play Store = Production API
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最简单方法是什么?
所以我对本文和其他文章中解释的环境变量的概念感到满意 https://www.freecodecamp.org/news/how-to-gracefully-use-environment-variables-in-a-react-native-应用程序/
太好了,我已经存储了我的 SOMETHING="something" 所以我可以使用 env.SOMETHING 或其他任何东西
我有点迷失的部分是您保存实时变量的位置?
我宁愿不做这样的解决方案,因为看起来您仍然将密钥公开,并且您只是根据环境使用 if 语句进行选择
例如,对于我们拥有的 Express App 部署,我们指定
let endPointURL = env.endPointURL
Run Code Online (Sandbox Code Playgroud)
然后我们保持versoin变量本地的,当它坐在与AWS它是由AWS服务器,解释覆盖这里
我只是想知道 Android 和 iOS 版本(在各自的商店中)或通过 Expo 是否存在类似的东西?
谢谢大家