使用“process.env.X”访问时,Expo EAS 构建不会暴露秘密

Jar*_*ett 5 android react-native expo

根据文档,我尝试使用 EAS CLI 和 Expo 网站为我的 Expo 应用程序创建机密:https://docs.expo.dev/build-reference/variables/。但是,在我使用以下命令为 Android 构建 EAS 后:eas build -p android --profile <profile_name>,并通过我的物理 Android 设备上的安装链接运行它。

似乎当我尝试通过process.env.VARIABLE_NAME(通过警报)查看秘密时,它只是给了我undefined.

我想知道是否有人以前遇到过这个问题并且可能找到了解决方案?先感谢您。

小智 3

我也有同样的问题。我查看了博览会网站上的日志,我可以在“启动构建环境”部分看到秘密在构建过程中被暴露。问题是,expo 不会自动在 process.env 变量下注入秘密值。为了捕获这些值,您可以使用诸如 babel 插件transform-inline-environment-variables之类的工具。

  • 发现这个答案与expo文档冲突https://docs.expo.dev/build-reference/variables/#accessing-secrets-in-eas-build“创建秘密后,您可以在后续的EAS构建作业中使用`读取它来自 Node.js 的 process.env.VARIABLE_NAME` 或在 shell 脚本中作为 `$VARIABLE_NAME`。” (4认同)