我的Firebase配置对象和Vercel环境变量遇到了一个 * 非常 * 奇怪的问题。
我可以使用Vercel环境变量构建整个Firebase配置对象,但如果使用projectId
值的环境变量,则会破坏整个配置。
我的配置遵循以下格式:
const firebaseConfig = {
apiKey: `${process.env.FIREBASE_apiKEY}`,
authDomain: `${process.env.FIREBASE_authDomain}`,
projectId: "my-project-id-here",
storageBucket: `${process.env.FIREBASE_storageBucket}`,
messagingSenderId: `${process.env.FIREBASE_messagingSenderId}`,
appId: `${process.env.FIREBASE_appId}`,
measurementId: `${process.env.FIREBASE_measurementId}`
};
然后,我使用该对象初始化Firebase,如下所示:
const app = initializeApp(firebaseConfig)
上面的方法是可行的,但是如果我将projecId
的值更改为
`${process.env.FIREBASE_projectId}`
为了匹配其他的,我得到FirebaseError: Failed to get document because the client is offline.
我已经验证了process.env.FIREBASE_projectId
的值在.env
文件中是正确的,并且该值在firebaseConfig
中也是正确的,但唯一一次没有得到错误的情况是当我将该值硬编码为字符串时。
1条答案
按热度按时间ndasle7k1#
如果使用的是nextjs,请为环境变量使用
NEXT_PUBLIC
前缀