React Native项目中react-native-config返回空Config对象问题求助
React Native中react-native-config返回空对象的排查方案
可能的错误点及解决方法
依赖未正确安装/链接
- 确认依赖已安装:执行
npm install react-native-config或yarn add react-native-config - React Native 0.60+版本自动链接,但iOS需进入
ios目录执行pod install - 旧版本需手动链接:运行
react-native link react-native-config,之后重启项目
- 确认依赖已安装:执行
.env文件位置/命名错误
- 确保
.env文件放在项目根目录(与package.json同级),不要放在ios/android子目录下 - 文件名必须为
.env,不要使用自定义后缀(如.env.dev除非你配置了多环境)
- 确保
环境变量语法错误
- .env里的变量不要加引号,官方推荐写法:
SECRET_KEY=kndlknv94ii4rpp - 不要在变量名和值之间加空格,比如
SECRET_KEY = xxx会导致识别失败
- .env里的变量不要加引号,官方推荐写法:
iOS额外配置缺失
- 打开Xcode,进入项目Build Settings,搜索
Preprocessor Macros,添加REACT_NATIVE_CONFIG_BUILD_TYPE=Debug(Debug模式)或Release - 清理Xcode缓存:点击Product -> Clean Build Folder,之后重新编译项目
- 打开Xcode,进入项目Build Settings,搜索
Android额外配置缺失
- 打开
android/app/build.gradle,在文件开头添加:apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle" - 执行
./gradlew clean清理Android缓存,再重新运行项目
- 打开
未重启开发服务器与项目
修改.env后必须重启Metro服务器(关闭后重新执行npx react-native start),同时重新编译项目(npx react-native run-ios/run-android),热重载无法加载新的环境变量
内容的提问来源于stack exchange,提问作者user21604832
相关产品推荐
相关产品推荐

