【问题标题】:Environment variables are not working in React app环境变量在 React 应用程序中不起作用
【发布时间】:2021-12-28 02:11:27
【问题描述】:

我目前正在使用具有 API 密钥的第 3 方 API。我打算将它存储在.env 文件中并且一直在这样做,但是当我尝试使用process.env 访问它时,它总是以undefined 出现。

我的.env 文件是keys.env,它位于我的React JS 应用程序的src 目录之外。我重新启动了我的开发服务器,清理了npm 的缓存,但我的React JS 应用程序根本无法识别.env 变量。

我的文件结构:

|-node_modules<br>
|-public<br>
|-src<br>
|  .gitignore<br>
|  keys.env<br>
|  package-lock.json<br>
|  package.json <br>

我的keys.env 文件:

REACT_APP_TEST_KEY=somekey

.env 变量的访问方式:

process.env.REACT_APP_TEST_KEY

输出:

undefined

【问题讨论】:

  • 这能回答你的问题吗? react evironment variables .env return undefined
  • 是的,这里几乎什么都试过了。
  • 更改.env 文件后是否重新启动服务器? keys.env 也不是有效的环境文件。请查看this。如果.env 文件,您使用keys.env 的任何原因?
  • 我尝试了几次重启,也清除了缓存。我没有尝试扩展此链接中提到的环境变量。

标签: node.js reactjs npm environment-variables


【解决方案1】:

我认为你需要配置 webpack 文件来使用 keys.env 因为环境的文件名默认是 .env

// webpack.config.js
const Dotenv = require('dotenv-webpack');
 
module.exports = {
  ...
  plugins: [
    new Dotenv({
        path: './some.other.env' // default is .env
    })
  ]
  ...
};

【讨论】:

  • 谢谢!。我没有遵循这一点,而是将我的文件重命名为 .env 而不是 keys.env 以摆脱额外的设置。但是,按照之前的方法,这是要走的路。
猜你喜欢
  • 2021-10-11
  • 2021-06-29
  • 1970-01-01
  • 2018-11-11
  • 1970-01-01
  • 1970-01-01
  • 2022-11-23
  • 2021-04-16
  • 2020-07-09
相关资源
最近更新 更多