我的项目有一个节点依赖,它依赖于要设置的环境变量,代码很简单,如const KEY = process.env.SOME_KEY
。
我知道react-native不支持传统的环境变量。
满足此需求的de选项有哪些,并使此代码有效?假设我无法控制依赖项的代码。
答案 0 :(得分:1)
这里的解决方案很简单,您应该使用自定义babel变换器,它将在转换步骤中用真实的env值替换代码中的所有process.env.
调用(在该阶段可以访问)环境变量)。转换也适用于您的应用程序的依赖项,这意味着您可以对第三方代码进行必要的修改,而无需实际更改它。
为了做到这一点,您应首先创建一个.babelrc
文件,如下所示,并将其放在项目的根目录中:
{
"presets": ["react-native"],
"plugins": [
"transform-inline-environment-variables"
]
}
完成后,请转到npm安装babel-preset-react-native
和babel-plugin-transform-inline-environment-variables
。
最后,重新运行react-native start
(基本上重启包装程序),所有的process.env调用都将被替换。