【发布时间】: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