我真的很挣扎于这个看似非常原始的错误。我已经安装了react-native-config,当console.logging Config对象时它返回
{}
。
该问题同时出现在 Android 和 iOS 上,并且它似乎不是链接问题,因为(即使 RN 71.3 不需要手动链接)当按照在 Android 上手动链接的步骤时,我收到一条错误消息,提示 RNCConfigPackage 已链接.
这是我的代码的简化版本:
import Config from 'react-native-config';
console.log(Config);
这就是我的 .env 文件的样子:
REACT_APP_STAGE=development
TEST=ThisIsATest
ANOTHER_TEST=ThisIsAnotherTest
我已经尝试过:
ENVFILE=.env react-native run-android
运行以对环境文件进行硬编码我知道,为了调试问题,这是非常有限的信息,但我们感谢任何指导和帮助,包括您将遵循的调试方法。
编辑:配置出现在最后,但更新很晚,更多人似乎面临的问题,我已经使用了react-native-dotenv。
这是经过测试的修复
"react-native": "0.72.6"
"react-native-config": "^1.5.1"
安卓
添加到您的
app/build.gradle
project.ext.envConfigFiles = [
debug: ".env",
release: ".env",
]
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
...
android {
...
defaultConfig {
...
resValue "string", "build_config_package", "com.yourApp.packageName"
}
iOS
前往
Product
> Scheme
> Edit Scheme...
在左侧面板中
Build
> pre-actions
添加 new run script action
并添加下面的代码(以生成 GeneratedDotEnv.m
)
xcodebuild -project "${SRCROOT}/../node_modules/react-native-config/ios/ReactNativeConfig.xcodeproj"
然后在您的
Pod
文件中在您的 target 下添加此行
pod 'react-native-config', :path => '../node_modules/react-native-config'
最后一步:
cd ios && pod install
对于我来说,使用以下版本,在
pod install
文件夹内运行 ios
后,它就可以工作了。
"react-native": "0.73.6",
"react-native-config": "^1.5.3",