Firebase 功能模拟器不会监视更改

MrQ*_*ndA 8 firebase firebase-tools google-cloud-functions

环境信息

firebase --version-->11.1.0

node -v-->v16.15.1

npm -v-->8.11.0

平台:

Pop!_OS 22.04 LTS 64 位

重现步骤

1)。跑步firebase init functions

2)。选择Use an existing project并选择我的项目。

3)。选择Javascript语言。

4). 输入N并按 Enter 键不使用 eslint。

5)。键入Y并按 Enter 键以安装依赖项。

6). 运行firebase emulators:startfirebase emulators:start --only functions

7). 打开functions/index.js并取消注释 helloWorld 示例,然后保存。

预期行为

我希望函数模拟器能够检测 javascript 代码的更改并自动应用这些更改,而无需重新启动模拟器(手动)。

实际行为

没有什么变化。我必须重新启动模拟器才能使用 helloWorld 函数。或者,如果该函数在模拟器启动时就在那里,我必须重新启动它才能看到对函数本身所做的更改。如果我在运行 firestore 模拟器时对文件进行更改,firestore.rules则会注册这些更改,而无需像预期那样重新启动模拟器。

小智 2

如果您使用“本机”Node.js,则运行模拟器后代码中的任何更改/修改都不会反映出来。通过使用不同的 Javascript 库,您可以在运行 Firebase 模拟器之前将代码转换/编译为监视模式,以查看代码修改后的变化。您还可以参考这个文档

您在活动会话期间所做的代码更改将由模拟器自动重新加载。如果您的代码需要转译(TypeScript、React),请确保在运行模拟器之前执行此操作。您可以使用 tsc -w 等命令在监视模式下运行转译器,以便在保存时自动转译和重新加载代码。