目前正在努力了解如何根据上下文正确定义环境变量。
这是我的示例 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
被接走
只需更改
ENV variables
文件中的 .env.local
值即可从
http://localhost:3000
到
您的流程和
eas.json
文件是正确的,但纯粹用于构建。例如,当您想要预览版本时,它将使用那些预定义的 ENV 变量。但要在本地测试,您需要更改您的 .env.local
文件。
请务必重新启动您的开发服务器!