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

如何在Expo Prebuild中设置NODE_ENV为uat/qa环境?

如何在Azure Pipelines执行expo prebuild时指定NODE_ENV为uat/qa环境

一、在Azure Pipelines中注入目标环境变量

你可以通过两种方式在Pipeline任务里设置NODE_ENV:

  1. 直接在脚本命令中前置环境变量
    根据Pipeline运行的操作系统,选择对应的命令格式:

    • Linux/macOS环境:
      NODE_ENV=uat npx expo prebuild
      
    • Windows环境:
      set NODE_ENV=uat && npx expo prebuild
      

    如果需要跨平台兼容,可以先在项目中安装cross-env(npm i -D cross-env),然后统一使用:

    npx cross-env NODE_ENV=uat npx expo prebuild
    
  2. 通过Pipeline变量统一管理
    在Azure Pipelines的「变量」面板中添加NODE_ENV变量,设置值为uat或qa;然后在脚本任务中引用该变量:

    NODE_ENV=$(NODE_ENV) npx expo prebuild
    

    这种方式更灵活,方便在不同Pipeline阶段或分支切换环境值。

二、确保项目配置能正确读取NODE_ENV

因为你用的是自定义配置结合app.json和babel.config.js,需要做以下适配:

  1. babel.config.js中根据环境切换配置
    直接在配置文件中读取process.env.NODE_ENV来调整插件或预设:

    module.exports = function(api) {
      api.cache(true);
      const currentEnv = process.env.NODE_ENV || 'development';
      return {
        presets: ['babel-preset-expo'],
        plugins: [
          currentEnv === 'uat' ? ['transform-remove-console'] : [],
          currentEnv === 'qa' ? ['babel-plugin-debug-macros'] : []
        ]
      };
    };
    
  2. 将app.json改为app.config.js实现动态配置
    静态的app.json无法直接读取环境变量,建议替换为app.config.js,这样可以根据NODE_ENV动态生成配置:

    const currentEnv = process.env.NODE_ENV || 'development';
    module.exports = {
      expo: {
        name: currentEnv === 'uat' ? 'MyApp-UAT' : currentEnv === 'qa' ? 'MyApp-QA' : 'MyApp-Dev',
        bundleIdentifier: currentEnv === 'uat' ? 'com.myapp.uat' : currentEnv === 'qa' ? 'com.myapp.qa' : 'com.myapp.dev',
        // 其他Expo配置项
      }
    };
    

    执行expo prebuild时,Expo会自动读取这个动态配置文件生成对应的原生项目文件。

三、验证环境变量是否生效

在expo prebuild任务前添加一个脚本步骤,输出当前NODE_ENV值,确认变量已正确注入:

  • Linux/macOS:
    echo "当前NODE_ENV: $NODE_ENV"
    
  • Windows:
    echo 当前NODE_ENV: %NODE_ENV%
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 01:14:52