无法访问 .env 中的变量键(dotenv package React)

Céd*_*oem 3 authentication api environment-variables reactjs dotenv

所以我试图了解如何使用 .env 来保护我的登录身份验证的 api 密钥和数据。我遵循了 dotenv 包的过程和这里的 stackoverflow答案

我做了什么:

1. 我安装了 dotenv 包

2. 在我的根文件夹中,我添加了一个只有一行的 .env :

API_AUTH=http://myapilink.com
Run Code Online (Sandbox Code Playgroud)

3. 在我的 App.js 中,我添加了以下行:

require('dotenv').config()
console.log(process.env.API_AUTH)
Run Code Online (Sandbox Code Playgroud)

但是,console.log 返回 'undefined',这是为什么呢?我错过了什么?

Ana*_*dac 13

您必须在环境变量前加上REACT_APP_. 见这里

注意:您必须创建以 REACT_APP_. 除此以外的任何其他变量都NODE_ENV将被忽略,以避免意外暴露机器上可能具有相同名称的私钥。如果开发服务器正在运行,更改任何环境变量都将要求您重新启动它。

所以,而不是只是API_AUTH它会是REACT_APP_API_AUTH

它将作为process.env.REACT_APP_API_AUTH.

  • @CédricBloem 更改后是否重新启动了服务器?如果这不起作用,请尝试将“.env”更改为“.env.development”,然后再次重新启动。 (3认同)
  • 我做到了并且成功了。不敢相信“你尝试过再次打开和关闭它吗”做到了:)谢谢!! (2认同)