gpt4 book ai didi

firebase - 在多个项目中使用 Firebase Emulator Suite

转载 作者:行者123 更新时间:2023-12-04 12:57:38 25 4
gpt4 key购买 nike

我通常将我的 Firebase 项目组织成一个单独的存储库,用于 Web 应用程序、管理器门户和云功能。因为 Web 应用程序和管理器门户使用相同的 firebase 项目,所以我将云功能保存在它们自己单独的存储库中。所以 3 个不同的存储库/项目使用相同的 Firebase 项目。
我正在测试如何使用具有此设置的 Firebase 本地模拟器套件,但似乎我无法在我的 Cloud Function 项目中为云函数启动模拟器,然后在我的 web 应用程序项目中使用模拟器进行 firestore 和调用函数,然后对于我的经理门户项目也是如此。这将导致冲突并导致它们都在不同的端口上运行,并且函数项目将无法访问 Firestore 模拟器,并且 Web 应用程序和管理器将无法访问函数模拟器。
有没有办法使这项工作?我能看到的唯一方法是将我的管理器应用程序、Web 应用程序和功能都放在同一个项目/存储库中……出于多种原因,我不想这样做。
目前,我刚刚在 firebase 上建立了一个 2nd Staging 项目并将其用于测试,但希望能够在本地完成所有这些。任何帮助深表感谢。

最佳答案

我今天只是在苦苦挣扎,结果证明它很简单:

  • 在你的主项目中,像往常一样启动你的模拟器,例如firebase emulators:start --only firestore
  • 在您的依赖项目中,不要尝试启动 firestore 模拟器,而是按如下方式初始化 firebase 配置:

  • import * as express from 'express'
    import * as admin from 'firebase-admin'
    import * as functions from 'firebase-functions'

    admin.initializeApp(functions.config().firebase)

    var db = admin.firestore()
    if (process.env.NODE_ENV !== 'production') {
    db.settings({
    host: "localhost:8080",
    ssl: false
    })
    }

    关于firebase - 在多个项目中使用 Firebase Emulator Suite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64544372/

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