react-native - react-native 自定义依赖项上的环境变量

标签 react-native environment-variables

我的项目有一个依赖于要设置的环境变量的节点依赖项,代码很简单,如 const KEY = process.env.SOME_KEY .
我知道 react-native 不支持传统的环境变量。

有哪些选项可以满足此需求并使此代码正常工作?假设我无法控制依赖项的代码。

最佳答案

这里的解决方案非常简单,您应该使用自定义 babel 转换器来替换所有 process.env.在转换步骤期间使用真实的 env 值在代码中调用(在该阶段可以访问环境变量)。转换也适用于您的应用程序的依赖项,这意味着您可以对 3rd 方代码应用必要的修改,而无需实际更改它。

为此,您应该首先创建一个 .babelrc像下面这样的文件并将其放在项目的根目录中:

{
  "presets": ["react-native"],
  "plugins": [
    "transform-inline-environment-variables"
  ]
}

完成后,去 npm install babel-preset-react-nativebabel-plugin-transform-inline-environment-variables .

最后,重新运行 react-native start (基本上重新启动打包程序)并且您的所有 process.env 调用都将被替换。

关于react-native - react-native 自定义依赖项上的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38637770/

相关文章:

android - 在 Android Studio 中使用 Gradle 构建的环境变量

r - 如何在没有评估环境的情况下集群导出功能

java - 如何在 Spring applicationContext 中读取系统环境变量

python - Twilio 环境变量错误

javascript - 尝试读取图像文件时检测到 React-native 无效的 UTF-8

react-native - 如何在React Native的ActionSheetIOS中使用iPad的 anchor 选项?

reactjs - 如何使用 React Router 在 React 中正确同步 useEffect 和 useLocation Hook ?

javascript - Ionic 3 中的环境特定参数

react-native - 无法使用npm和yarn来安装 Electron 以进行React devtool

javascript - React Native Audio 播放名称中带有空格的 mp3 文件