标准答案

  1. 先划分环境:本地、测试、预发、生产,每个环境的接口域名、埋点、监控和功能开关可能不同。
  2. 构建期变量会进入静态产物,不能放 token、数据库地址、支付密钥等敏感信息。
  3. 运行时配置适合解决同一份静态产物部署到不同环境的问题。
  4. 配置要有默认值、校验和缺失时的失败提示,避免线上静默使用错误环境。
  5. 发布流程要能追踪某个版本使用了哪组配置。

题目解析

前端多环境配置最怕把“变量名像 secret”误认为安全。只要被客户端引用并进入 bundle,用户就能通过产物、DevTools 或 source map 找到。

构建期变量适合放公开 API base URL、站点环境、公开 feature flag。运行时配置适合容器部署、CDN 静态产物复用和灰度开关。

工程化设计要让配置可审计、可回滚、可校验,而不是在多个 .env 文件里手工复制。

常见误区

  • 把私钥放进 VITE_、NEXT_PUBLIC_ 这类公开变量。
  • 同一份构建产物在不同环境靠手改文件上线,没有版本记录。
  • 配置缺失时继续运行,直到用户路径出错才暴露问题。

作者信息