我想要一种现代方法来管理本机移动应用的环境变量。
答案here解释了12因素方法风格(我喜欢),其中涉及安装一个转换引用的babel插件
const apiKey = process.env.API_KEY;
到过程环境中找到的相应值
const apiKey = 'my-app-id';
问题是,为了在填充的环境中运行它,我需要将其设置为
API_KEY=my-app-id react-native run-ios
如果我有一个包含10-20个环境变量的.env
文件,则此方法变得难以处理。我到目前为止找到的最好的方法是运行
env $(cat .env | xargs) react-native run-ios
这有点不受欢迎,因为想要使用此程序包的开发人员必须设置自定义shell别名来执行此操作。这不利于良好的开发环境,也使发布的构建和部署流程变得复杂。
有没有办法在首先填充流程环境的react-native-cli
(或配置文件)中添加一个钩子?就像npm
" pre"脚本,但反应原生。
答案 0 :(得分:1)
您可以使用react-native-config这是一个原生图书馆并需要一个工作链接,react-native-dotenv就像react-native-config
一样,但不需要任何原生链接。
它可以与设置的.env
个文件一起使用,例如: .env.development
包含process.env.NODE_ENV === 'development'
的环境变量。