微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在多个项目中使用Firebase Emulator Suite

如何解决在多个项目中使用Firebase Emulator Suite

我通常将Firebase项目组织成一个单独的仓库,用于Web应用程序,管理器门户和云功能。由于Web应用程序和管理器门户使用相同的Firebase项目,因此我将云功能保留在其自己的单独存储库中。因此,使用同一个Firebase项目的3个不同的回购/项目。

我正在测试如何通过此设置使用Firebase Local Emulator Suite,但没有出现,我可以在Cloud Function项目中启动云功能的模拟器,然后在Web应用程序项目中使用模拟器用于Firestore和调用函数,然后对于我的经理门户项目相同。这将导致冲突,并导致它们全部在不同的端口上运行,并且功能项目将无法访问Firestore模拟器,而Web应用程序和管理器将无法访问功能模拟器。

有没有办法使这项工作有效?我能看到的唯一方法是将我的经理应用程序,Web应用程序和功能全部放在同一个项目/存储库中...出于多种原因,我不想这样做。

目前,我刚刚在firebase上建立了一个第二阶段项目,并将其用于测试,但希望能够在本地完成所有这些工作。非常感谢您的帮助。

解决方法

今天我只是在努力挣扎,事实证明它很简单:

  • 在您的主项目中,像往常一样启动仿真器,例如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
  })
}
,

您可以在项目目录中使用符号链接来创建“假”函数目录。然后您可以运行模拟器的单个实例。

运行模拟器的两个实例可能会导致一些奇怪的错误,因为不推荐这样做。

在窗户上:

mklink /D "R:\my-cloud-functions-proj\functions" "R:\my-web-app\functions"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?