在React Native中,可以通过使用React Native的内置模块react-native-config
来将Node环境变量传递给JS代码。
以下是实现的步骤:
react-native-config
模块:npm install react-native-config --save
或者
yarn add react-native-config
.env
的文件,用于存储环境变量。在该文件中,可以定义各种环境变量,例如:API_URL=https://api.example.com
API_KEY=1234567890
注意:.env
文件中的环境变量应该按照KEY=VALUE
的格式进行定义。
babel.config.js
的文件,用于配置Babel。在该文件中,添加以下代码:module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: [
[
'module:react-native-dotenv',
{
moduleName: '@env',
path: '.env',
blacklist: null,
whitelist: null,
safe: false,
allowUndefined: true,
},
],
],
};
react-native.config.js
的文件:npx react-native config
android/app/build.gradle
文件,在dependencies
块中添加以下代码:implementation project(':react-native-config')
android/settings.gradle
文件,添加以下代码:include ':react-native-config'
project(':react-native-config').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-config/android')
MainApplication.java
文件,导入react-native-config
模块,并将其添加到getPackages()
方法的返回值中,如下所示:import com.lugg.ReactNativeConfig.ReactNativeConfigPackage;
// ...
@Override
protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
// ...
packages.add(new ReactNativeConfigPackage());
// ...
return packages;
}
npx react-native run-android
或者
npx react-native run-ios
现在,你可以在React Native的JS代码中使用react-native-config
模块来访问Node环境变量。例如,可以通过以下方式获取之前定义的环境变量:
import Config from 'react-native-config'; const apiUrl = Config.API_URL; const apiKey = Config.API_KEY; // 使用环境变量进行API调用等操作
这样,你就成功将Node环境变量传递给React Native的JS代码了。
领取专属 10元无门槛券
手把手带您无忧上云