You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EAS Build环境变量优先级确认及管理最佳实践咨询

EAS Build 环境变量优先级与最佳实践

一、环境变量优先级(从高到低)

  • 命令行--env标志:优先级最高,通过eas build --env API_URL=https://example.com这类方式传递的变量,会直接覆盖eas.json和EAS Secrets里的同名变量。
  • EAS Secrets:优先级高于eas.json。如果同一变量(比如API_URL)同时在EAS Secrets和eas.json中定义,最终生效的是EAS Secrets存储的值。
  • eas.json的env属性:优先级最低,仅当同名变量未通过前两种方式定义时,才会使用此处的值。

二、环境变量管理最佳实践

1. 处理敏感密钥(如API密钥、加密密钥)

  • 绝对不要将敏感密钥写入eas.json,该文件通常会提交到Git仓库,极易造成信息泄露。
  • 所有敏感变量必须通过eas secret:create命令存储到EAS Secrets,它会加密存储在Expo服务器,仅构建过程可访问,不会暴露在代码或配置文件中。
  • 本地开发时,用.env文件存放敏感变量,但务必将.env加入.gitignore,禁止提交到仓库。

2. 区分开发与生产环境

  • 在eas.json中配置多个构建profile,比如development、production,每个profile的env字段设置对应环境的非敏感变量(例如开发环境用测试API地址,生产用正式地址)。
  • 敏感变量按环境拆分,创建Secrets时给变量加环境前缀,比如DEV_PAYMENT_KEY和PROD_PAYMENT_KEY,再在项目代码或构建脚本中根据当前环境加载对应变量。
  • 本地开发和构建环境保持一致:本地用expo start --env-file .env.development加载开发环境变量,生产构建直接调用EAS的生产profile,自动加载对应Secrets。

内容的提问来源于stack exchange,提问作者satanmoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 01:32:41