我的项目有一个节点依赖关系,它依赖于要设置的环境变量,代码是简单的const KEY = process.env.SOME_KEY
。我知道react-native不支持传统的环境变量。
有哪些选项可以满足这一需求并使此代码正常工作?假设我无法控制依赖项的代码。
发布于 2016-07-29 14:34:39
这里的解决方案非常简单,你应该使用一个自定义的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调用都将被替换。
https://stackoverflow.com/questions/38637770
复制相似问题