【发布时间】:2022-01-24 16:28:32
【问题描述】:
我在 angular/fire 项目中使用 firebase 模拟器套件,包括云功能模拟器。 firebase 工具 9.23.1。打字稿版本 4.5.4。 package.json中的主要属性是"main": "lib/index.js",开发环境是MacOS 12.1。
我运行tsc -w 来查看函数项目的 src 文件夹并转换任何更改。然后我使用firebase emulators:start 启动模拟器。模拟器套件启动成功,云函数以启动时函数中包含的代码运行。
当我将更改保存在 /src 中的 .ts 文件中时,主文件夹中的 .js 文件会立即反映这些更改; tsc -w 似乎正在按预期观看和转译。
但是当我在那之后调用模拟函数时,它们仍然运行保存和转换之前的旧代码。 Cloud firestore 的文档说:
注意:您在活动会话期间所做的代码更改会由模拟器自动重新加载。如果您的代码需要转译(TypeScript、React),请确保在运行模拟器之前这样做。您可以使用 tsc -w 等命令在监视模式下运行您的转译器,以便在保存时自动转译和重新加载代码。
我不知道我在这里缺少什么。无论是使用脚本启动观察程序和模拟器还是手动执行,我都会得到相同的行为。我也尝试过使用firebase serve --only functions 和firebase serve:shell,但没有成功。我需要在 firebase emulators:start 上使用标志来说服模拟器注意变化吗?
【问题讨论】:
标签: typescript firebase google-cloud-functions angularfire2 firebase-tools