我正在学习使用 Firebase Cloud Function,我正在关注 Firebase 的官方教程视频 Learn JavaScript Promises (Pt.1)
当我运行本地服务器并转到我得到的 HTTP 链接时
错误:默认的 Firebase 应用不存在。确保在使用任何 Firebase 服务之前调用 initializeApp()。
我尝试寻找解决方案,但找不到任何地方。我有一些模糊相关的问题,但对于 javascript,我的代码是 typescript 。我确实在 .js 和 .ts 文件中添加了建议的语法
admin.initializeApp(functions.config().firebase);
但是,我仍然得到同样的错误
这是我的 index.tcs。
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
// Start writing Firebase Functions
// https://firebase.google.com/docs/functions/typescript
export const getVoucher = functions.https.onRequest((request, response) => {
const promise = admin.firestore().doc('/voucher/Eg2AtnGmKmX8Y0vBZiBG').get()
const p2 = promise.then(snapshot=>{
const data = snapshot.data()
response.send(data)
})
p2.catch(error => {
//Handlle the error
console.log('error: '+error)
response.status(500).send(error)
})
});
该函数在部署到 firebase 时按预期工作。
最佳答案
您应该只在代码的全局范围内调用 admin.initializeApp()
。不要传递任何参数来接受默认服务帐户,该帐户应该有权读取和写入您的 Cloud Firestore 数据库。
关于node.js - 默认的 Firebase 应用不存在。确保在使用任何 Firebase 服务之前调用 initializeApp()。在 FirebaseAppError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57397608/