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

Node.js如何通过字符串名称程序化访问.env环境变量

程序化访问.env中对应前缀的环境变量

在Node.js里,process.env本质是普通的JavaScript对象,你可以通过方括号属性访问语法,结合字符串拼接来动态获取对应前缀的环境变量。

基础实现示例

针对你提到的const BIRD对应BIRD_AMOUNT的场景,直接拼接变量名和后缀,再用方括号访问即可:

// 定义前缀变量
const BIRD = 'BIRD';
// 拼接出完整的环境变量键名
const targetEnvKey = `${BIRD}_AMOUNT`;
// 动态获取环境变量
const birdAmount = process.env[targetEnvKey];

批量处理的工具函数

如果有大量这类变量需要处理,可以封装工具函数简化操作:

/**
 * 根据前缀获取对应的环境变量
 * @param {string} prefix - 变量前缀(如'BIRD')
 * @param {string} suffix - 环境变量后缀(默认'AMOUNT')
 * @returns {string|undefined} 对应的环境变量值
 */
function getEnvVariable(prefix, suffix = 'AMOUNT') {
  const envKey = `${prefix}_${suffix}`;
  // 可选:添加默认值处理,避免返回undefined
  return process.env[envKey] ?? '默认值';
}

// 使用示例
const BIRD = 'BIRD';
const DOG = 'DOG';

const birdAmount = getEnvVariable(BIRD);
const dogCount = getEnvVariable(DOG, 'COUNT'); // 自定义后缀

注意事项

  • 确保.env文件已正确加载:如果使用dotenv包,要在代码开头执行require('dotenv').config();如果是在Vercel、Netlify等平台部署,直接配置平台环境变量即可,无需手动加载。
  • 环境变量的值都是字符串类型,若需要数字等其他类型,记得手动转换(比如Number(birdAmount))。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 09:57:03