react-native-config 不起作用(两个操作系统中的配置均为空)

问题描述 投票:0回答:2

我真的很挣扎于这个看似非常原始的错误。我已经安装了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

调试尝试

我已经尝试过:

  • 运行 gradlew clean 和 pod install(即使这不是特定于平台的问题)
  • 使用
    ENVFILE=.env react-native run-android
    运行以对环境文件进行硬编码

我知道,为了调试问题,这是非常有限的信息,但我们感谢任何指导和帮助,包括您将遵循的调试方法。

编辑:配置出现在最后,但更新很晚,更多人似乎面临的问题,我已经使用了react-native-dotenv。

react-native environment-variables react-native-config
2个回答
2
投票

这是经过测试的修复

  • "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


0
投票

对于我来说,使用以下版本,在

pod install
文件夹内运行
ios
后,它就可以工作了。

    "react-native": "0.73.6",
    "react-native-config": "^1.5.3",
© www.soinside.com 2019 - 2024. All rights reserved.