【问题标题】:Can't access process.env values using dynamic keys in React.JS无法使用 React.JS 中的动态键访问 process.env 值
【发布时间】:2021-09-29 04:04:24
【问题描述】:

无法使用动态键访问 process.env 值

.env 文件

TEST_ENV="www.test.com"; TEST_ENV_1 = "www.qwerrt.com";

.js

如果我直接尝试使用 process.env.TEST_ENV,它工作正常。但是 .env 键值必须是动态的

供参考,我试过了:

const myKey = 'TEST_ENV';
const myENV = process.env[myKey];
console.log(myENV); //undefined

【问题讨论】:

  • 不要尝试动态访问process.env。请改用process.env.TEST_ENV,因为构建会从字面上查找并替换它。
  • @evolutionxbox 感谢您的回复,process.env.TEST_ENV 肯定会工作..但根据条件必须选择相应的 .env 键名
  • 然后列出对象中的所有键,然后使用它。 obj = { var1: process.env.var1 }; obj.var1
  • 我的 .env 像这样 ENV_A={a:'a.com'} ENV_B={b:'b.com'} ENV_c={c:'c.com'}
  • 不在环境中,在 javascript 中进行。将您的 .env 保留为 ENV_A=a.com

标签: javascript reactjs


【解决方案1】:
  1. 在您的根目录中创建一个.env 文件
  2. 打开 .env 并声明您的环境变量

React 在每个自定义变量上强制使用前缀 REACT_APP。 没有REACT_APP 的变量将被忽略。

因此,请始终创建一个自定义变量,例如 REACT_APP_CUSTOM_VARIABLE

在你的情况下是:

REACT_APP_MY_KEY = 'TEST_ENV'

访问环境变量的方式是在对应的组件中使用process.env.REACT_APP_MY_KEY

【讨论】:

  • 这无济于事,因为问题是关于process.env[keyName]
  • 能够直接访问 process.env.REACT_APP_MY_KEY 值..但是在我的 .env 中有 10 个属性根据条件必须选择相应的 .env 键
猜你喜欢
  • 2021-01-17
  • 2021-08-30
  • 2020-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-14
  • 1970-01-01
相关资源
最近更新 更多