gpt4 book ai didi

javascript - firebase.initializeApp 在我的 dotenv 文件中找不到 API key 。 (下一个.js)

转载 作者:行者123 更新时间:2023-12-02 02:29:34 25 4
gpt4 key购买 nike

我正在尝试在我的 Next.js 项目中实现 Firebase Auth。身份验证系统工作得很好,但只有当我直接在initializeApp内部声明API key 时。例如:

import firebase from 'firebase/app'
import 'firebase/auth'

const app = !firebase.apps.length ? (
firebase.initializeApp({
apiKey: 'MY_KEY',
authDomain: process.env.FIREBASE_DOMAIN,
projectId: process.env.FIREBASE_PROJECT_ID,
storageBucket: process.env.FIREBASE_SOTORAGE_BUCKET,
messagingSenderId: process.env.FIREBASE_SENDER_ID,
appId: process.env.FIREBASE_ID,
measurementId: process.env.FIREBASE_MESUREMENT_ID,
})
) : (firebase.app())

export default app

当我尝试使用 .env 文件获取 API key 时,next.js 抛出以下错误:“未处理的运行时错误错误:您的 API key 无效,请检查您是否已正确复制它。”

我还尝试通过在 next.config.js 中添加 env 配置来添加这些变量,就像 Vercel 的建议 https://nextjs.org/docs/api-reference/next.config.js/environment-variables 一样。 。它也不起作用。

我当前的代码如下:

import firebase from 'firebase/app'
import 'firebase/auth'

const app = !firebase.apps.length ? (
firebase.initializeApp({
apiKey: process.env.FIREBASE_KEY,
authDomain: process.env.FIREBASE_DOMAIN,
projectId: process.env.FIREBASE_PROJECT_ID,
storageBucket: process.env.FIREBASE_SOTORAGE_BUCKET,
messagingSenderId: process.env.FIREBASE_SENDER_ID,
appId: process.env.FIREBASE_ID,
measurementId: process.env.FIREBASE_MESUREMENT_ID,
})
) : (firebase.app())

export default app

我应该怎样做才能使 initializeApp 能够读取 process.env.FIREBASE_KEY 值?

最佳答案

Firebase CLI 不支持部署添加环境变量的函数。任何 .env 文件中的内容并不重要 - 它们在部署后根本不会出现在流程环境中。

documentation 中解释了为函数提供配置参数的记录方法。 。这些变量不会在 process.env 中显示为进程环境。它们将出现在运行时由 functions.config() 返回的对象中。

如果您确实必须拥有进程环境变量,那么您将无法使用 .env 中的任何内容。您可以改为 write and deploy your function using gcloud to specify environment 。但是,这会让您失去使用 Firebase CLI 的所有优势,因为它是完全不同的部署工具。

您还可以使用 Firebase CLI 进行部署,然后在使用 gcloud 部署后更新特定环境。

最重要的是,您想要做的事情并不是非常容易或直接。我建议学习如何使用 Firebase 提供的配置来简化此操作,但这意味着您必须将 .env 中的内容复制到其配置系统中。

关于javascript - firebase.initializeApp 在我的 dotenv 文件中找不到 API key 。 (下一个.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65264708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com