未获取更新的 Expo 环境变量

问题描述 投票:0回答:1

目前正在努力了解如何根据上下文正确定义环境变量。

这是我的示例 eas.json :

{
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal",
      "channel": "development",
      "env": {
        "EXPO_PUBLIC_API_URL": "http://localhost:3000"
      }
    },
    "preview": {
      "distribution": "internal",
      "channel": "staging",
      "env": {
        "EXPO_PUBLIC_API_URL": "https://staging.domain"
      }
    },
    "production": {
      "channel": "main",
      "env": {
        "EXPO_PUBLIC_API_URL": "https://prod.domain"
      }
    }
  }
}

我还有一个 .env.local,引用它(我假设,eas.json 不会在笔记本电脑开发中被选中):

#DO NOT COMMIT THIS
SENTRY_AUTH_TOKEN=xxxx
EXPO_PUBLIC_API_URL=http://localhost:3000

运行更新时:

eas update --branch staging --message "feat(onboarding): navigation"
,无论如何,env.local 都会接管。 应该修复什么才能使其正常工作? 我想要
eas.json
preview.env.EXPO_PUBLIC_API_URL
被接走

react-native expo
1个回答
0
投票

只需更改

ENV variables
文件中的
.env.local
值即可从

http://localhost:3000

https://staging.domain

您的流程和

eas.json
文件是正确的,但纯粹用于构建。例如,当您想要预览版本时,它将使用那些预定义的 ENV 变量。但要在本地测试,您需要更改您的
.env.local
文件。

请务必重新启动您的开发服务器!

© www.soinside.com 2019 - 2024. All rights reserved.