【问题标题】:.env Environment variables not being used.env 未使用环境变量
【发布时间】:2021-01-06 20:47:49
【问题描述】:

我正在尝试将我的 React Web 应用部署到 Firebase。我有一个 github 工作流设置,以便在创建拉取请求时部署到预览频道,然后在合并时将其部署为实时。我将我的 firebase api 密钥和其他详细信息存储在 .env 文件中,该文件位于我的 .gitignore 中,以免将其签入 git 存储库。但是,当应用程序部署到 Firebase 时,不会使用这些变量。显示一个空白页面,并且控制台中出现错误提示正在使用不正确的 API 密钥,请使用正确的 API 密钥。但是,如果我直接将完全相同的值硬编码到 firebase 的配置中,则它可以正常工作。有想法该怎么解决这个吗? .env 示例以及我如何使用它如下所示。 (当然没有 .env 文件中的实际值)。此外,.env 文件也位于项目的根目录中。

.env 示例:

REACT_APP_API_KEY={{value}}
REACT_APP_AUTH_DOMAIN={{value}}
REACT_APP_DATABASE_URL={{value}}
REACT_APP_PROJECT_ID={{value}}
REACT_APP_STORAGE_BUCKET={{value}}
REACT_APP_MESSAGING_SENDER_ID={{value}}

firebase.js

const config = {
apiKey: process.env.REACT_APP_API_KEY,
authDomain: process.env.REACT_APP_AUTH_DOMAIN,
databaseURL: process.env.REACT_APP_DATABASE_URL,
projectId: process.env.REACT_APP_PROJECT_ID,
storageBucket: process.env.REACT_APP_STORAGE_BUCKET,
messagingSenderId: process.env.REACT_APP_MESSAGING_SENDER_ID,
};

【问题讨论】:

  • 您是否将 dotenv 导入到您的项目中?
  • 据我了解,只需要在项目的根目录下有.env文件,然后用REACT_APP_启动每个键,就可以通过process.env访问它们。
  • 你有没有得到这个工作?我有同样的麻烦

标签: javascript reactjs firebase


【解决方案1】:

我认为您应该在.env 文件名的末尾添加.production。它变成.env.production,然后构建和部署。

【讨论】:

  • 感谢您的评论。我已经尝试过这个,但是,它也不起作用。我目前已经尝试了三种方案,但都没有奏效。我有一个 .env.development 和 .env.production 文件。我只尝试了一个 .env 文件,然后尝试了所有这三个文件。这些都没有成功。
猜你喜欢
  • 2021-08-23
  • 2017-11-07
  • 2016-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-13
  • 2016-11-11
相关资源
最近更新 更多