我正在编写一个具有Firebase托管和云功能的简单Web应用程序。我的功能是onCreate,onDelete和httpsServer。我不想通过在本地运行它来测试我的应用程序。由于string
仅适用于https函数和托管,因此该怎么办。
我尝试在不同的bash终端上同时运行firebase serve
和firebase serve
。这会导致firebase functions:shell
失败。
创建功能:
firebase functions:shell
删除功能:
exports.created = functions.firestore.document('Books/{bookID}')
.onCreate((snapshot, context) => {
FUNCTION_BODY
});
https函数:
exports.deleted = functions.firestore.document('Books/{bookID}')
.onDelete((snapshot, context) => {
FUNCTION_BODY
});
bash抛出的错误:
exports.app = functions.https.onRequest(app);
第二次打击的输出:
$ firebase functions:shell
i functions: Preparing to emulate functions.
Warning: You're using Node.js v10.13.0 but Google Cloud Functions only supports v6.11.5.
! functions: Failed to emulate created
! functions: Failed to emulate deleted
! functions: Failed to emulate app
i functions: No functions to emulate.
No functions emulated.
注意:这些是在同一台计算机上同时运行的独立bash终端。
答案 0 :(得分:0)
我在firebase文档中进行了一些挖掘,但找不到任何解决方案。这可能是因为没有官方工具可让您执行此操作。因此,我最终通过使用nodemon运行托管,然后使用
解决了该问题。firebase服务-功能
这解决了使用相同端口的问题,因为它是由nodemon处理的。
希望firebase将来会提供新工具。