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

React JS 如何判断当前运行环境是调试模式还是生产模式

运行环境判断&不同环境服务配置实现方案

核心实现逻辑

  • 所有环境统一通过预设的系统环境变量标记运行环境类型,常用变量名包括ENV、NODE_ENV(JS生态)、APP_ENV(通用后端场景),固定取值为development(调试/开发环境)、production(生产环境)
  • 代码启动时优先读取系统环境变量的取值:本地开发可通过.env本地配置文件注入变量,生产环境由部署平台、CI/CD流程注入变量,无需硬编码环境差异
  • 读取到环境变量值后,直接匹配对应环境的服务配置即可,可覆盖不同环境的数据库地址、第三方接口域名、日志级别等差异化配置

主流开发场景代码示例

Node.js/前端JS生态

// 读取环境变量,默认兜底为开发环境
const currentEnv = process.env.NODE_ENV || 'development'
// 按环境匹配对应配置
const serviceConfig = {
  development: {
    apiBaseUrl: 'http://localhost:3000/api',
    logLevel: 'debug',
    dbHost: '127.0.0.1'
  },
  production: {
    apiBaseUrl: 'https://your-official-domain.com/api',
    logLevel: 'info',
    dbHost: 'prod-db-internal-address'
  }
}[currentEnv]

Python 生态

import os

# 读取环境变量,默认兜底为开发环境
current_env = os.getenv("APP_ENV", "development")
service_config = {
    "development": {
        "api_base_url": "http://localhost:8000/api",
        "debug": True
    },
    "production": {
        "api_base_url": "https://your-official-domain.com/api",
        "debug": False
    }
}[current_env]

Java 生态

public class EnvConfigLoader {
    public static void main(String[] args) {
        String currentEnv = System.getenv().getOrDefault("APP_ENV", "development");
        ServiceConfig serviceConfig;
        if ("development".equals(currentEnv)) {
            // 加载开发环境服务配置
            serviceConfig = loadDevConfig();
        } else {
            // 加载生产环境服务配置
            serviceConfig = loadProdConfig();
        }
    }
}

注意事项

  • 不要通过本地IP、文件路径、端口号这类不稳定特征判断环境,避免部署架构调整后判断逻辑失效
  • 生产环境的敏感配置(数据库密码、加密密钥等)不要写在代码里,统一通过生产环境的环境变量单独注入,不要和通用配置逻辑耦合
  • 本地开发使用的.env配置文件要加入.gitignore规则,避免提交到代码仓库泄露本地配置信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:24:03