【问题标题】:How to use different secrets for each environment in Expo EAS如何在 Expo EAS 中为每个环境使用不同的秘密
【发布时间】:2022-11-19 22:02:14
【问题描述】:

在运行 eas build 命令构建或发布 expo 应用程序时,我们如何区分 Expo 中每个环境(开发、预览和生产)的秘密?

从 expo 控制台的秘密屏幕来看,它似乎是应用程序的全局:

因此,无论您尝试构建时的环境如何,秘密似乎都是一样的。例如,如果我需要 API_KEY env 的值在预览环境中与生产环境中不同,我如何使用 expo secrets 来实现?

【问题讨论】:

    标签: android ios react-native expo


    【解决方案1】:
    1. 前缀配置文件特定(开发、生产等)带有配置文件名称的环境变量,例如DEVELOPMENT_API_KEY
    2. 根据构建配置文件删除配置文件前缀 - 如下面的代码所示
      /* app.config.ts */
      
      // Set profile specific environment variables
      const profilePrefix = `${process.env.EAS_BUILD_PROFILE?.toUpperCase()}_`;
      Object.entries(process.env)
        .filter(([key]) => key.startsWith(profilePrefix))
        .forEach(([key, value]) => (process.env[key.slice(profilePrefix.length)] = value));
      

    【讨论】:

      猜你喜欢
      • 2023-01-20
      • 2023-01-25
      • 2022-08-12
      • 2021-12-29
      • 2021-10-29
      • 2022-01-24
      • 1970-01-01
      • 2023-01-22
      • 2020-08-19
      相关资源
      最近更新 更多