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

时间:2016-07-28 13:25:03

标签: react-native environment-variables

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

满足此需求的de选项有哪些,并使此代码有效?假设我无法控制依赖项的代码。

1 个答案:

答案 0 :(得分:1)

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

为了做到这一点,您应首先创建一个.babelrc文件,如下所示,并将其放在项目的根目录中:

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

完成后,请转到npm安装babel-preset-react-nativebabel-plugin-transform-inline-environment-variables

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