将函数模拟器与实时数据库一起使用
Using functions emulator together with live database
为了轻松测试 https 可调用函数,我想 运行 函数模拟器能够访问在线数据库。
模拟器的启动方式我觉得是这样的:
"GOOGLE_APPLICATION_CREDENTIALS=\"/path/to/credentials.json\" firebase emulators:start --only functions"
现在我仍然需要将应用程序中的 firebase 函数配置指向模拟器的 host/port。
有办法吗?
对于 firestore,您可以这样做:
const db = firebaseApp.firestore();
if (window.location.hostname === "localhost") {
console.log("localhost detected!");
db.settings({
host: "localhost:8080",
ssl: false
});
}
是否有类似的方法来配置 firebase 函数以指向模拟器?
我知道您可以通过 functions-shell 测试功能,但我觉得那样不太方便。我想将我的应用程序与来自 firestore 的可用数据一起使用。
这不是受支持的用例。您可以使用云服务或本地模拟器,但不能同时使用。您可以尝试使用可以从云中获取的一些数据预填充模拟器,仅此而已。 (本地模拟器的要点是完全避免需要云服务。)
为了轻松测试 https 可调用函数,我想 运行 函数模拟器能够访问在线数据库。
模拟器的启动方式我觉得是这样的:
"GOOGLE_APPLICATION_CREDENTIALS=\"/path/to/credentials.json\" firebase emulators:start --only functions"
现在我仍然需要将应用程序中的 firebase 函数配置指向模拟器的 host/port。
有办法吗?
对于 firestore,您可以这样做:
const db = firebaseApp.firestore();
if (window.location.hostname === "localhost") {
console.log("localhost detected!");
db.settings({
host: "localhost:8080",
ssl: false
});
}
是否有类似的方法来配置 firebase 函数以指向模拟器?
我知道您可以通过 functions-shell 测试功能,但我觉得那样不太方便。我想将我的应用程序与来自 firestore 的可用数据一起使用。
这不是受支持的用例。您可以使用云服务或本地模拟器,但不能同时使用。您可以尝试使用可以从云中获取的一些数据预填充模拟器,仅此而已。 (本地模拟器的要点是完全避免需要云服务。)