簡體   English   中英

使用 Firebase 管理員 SDK,無法部署 Firebase 跨多個文件拆分的雲功能:“默認 Firebase 應用程序已存在”

[英]Using Firebase Admin SDK, Unable to Deploy Firebase Cloud Functions Split Across Multiple Files: "The default Firebase app already exists"

當我嘗試在新的 Firebase 雲 function 中使用initializeApp()時(組織在一個單獨的文件中,通過 index.ts 導出),我收到錯誤消息:“默認的 Firebase 應用程序已經存在

我有三個文件,index.ts、http.ts 和 pubsub.ts。

指數.ts:

export { function1 } from './http'

export { function2 } from './pubsub'

http.ts(已經在使用 initializeApp 並且運行良好):

import * as functions from 'firebase-functions'
import fetch from 'node-fetch'
import { initializeApp } from 'firebase-admin/app'
import { getFirestore } from 'firebase-admin/firestore'

const app = initializeApp()
const db = getFirestore(app)
const config = functions.config()

export const function1 = functions...

我需要在另一個文件 pubsub.ts 中使用應用程序:

import * as functions from 'firebase-functions'
import { initializeApp } from 'firebase-admin/app'
import { getAuth } from 'firebase-admin/auth'
import { getFirestore } from 'firebase-admin/firestore'

const app = initializeApp()
const auth = getAuth(app)
const db = getFirestore(app)

export const function2 = functions...

我已經看到諸如.admin.apps?length. admin:initializeApp(). admin;app(); .admin.apps?length. admin:initializeApp(). admin;app(); 但我使用的是最新版本的 Firebase Admin SDK 並且它的導入方式不同。

此外,我想一旦我設法解決了 initializeApp 的問題, db也會出現同樣的情況——因為它也在兩者中使用。

我檢查了 Firebase 文檔,當雲功能被組織到單獨的文件中時,我沒有看到使用 Firebase Admin SDK 的提及(但是它確實討論了這樣的組織功能)。

提前致謝。

getApp() 和 getApps() 方法看起來很可靠,可以檢查您的應用是否已初始化: https://firebase.google.com/docs/reference/js/app.md#getapp並基於此執行條件初始化.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM