我的项目有一个依赖于要设置的环境变量的节点依赖项,代码很简单,如 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-native
和 babel-plugin-transform-inline-environment-variables
.最后,重新运行
react-native start
(基本上重新启动打包程序)并且您的所有 process.env 调用都将被替换。
关于react-native - react-native 自定义依赖项上的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38637770/