小编Jac*_*all的帖子

Firebase 函数模拟器在 Typescript 转换时未重新加载

我在 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 functionsandfirebase serve:shell没有运气。我需要使用一个标志firebase emulators:start来说服模拟器观察更改吗?

firebase typescript firebase-tools google-cloud-functions angularfire2

4
推荐指数
1
解决办法
2123
查看次数