Firebase 云函数本地代码更改未反映在模拟器中

Abh*_*bhi 4 node.js firebase firebase-tools google-cloud-functions

我正在尝试使用 Firebase 云函数为我的应用程序开发 API。
网站使用火力仿真器套件的开发和本地测试。

问题:更改未反映在本地模拟功能中。

脚步:

  1. 索引.js:

    exports.test = functions.https.onRequest(async (request, response) => {
       response.status(200).send("First");
    });
    
    Run Code Online (Sandbox Code Playgroud)
  2. 成功部署了该test方法。

    firebase deploy --only functions:test
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在 Postman 中提出了以下 GET 请求。

     https://us-central1-<project-name>.cloudfunctions.net/test
    
    Run Code Online (Sandbox Code Playgroud)

    结果:第一个
    状态:200 OK

  4. 启动模拟器:

    firebase emulators:start --only functions
    
    Run Code Online (Sandbox Code Playgroud)
  5. 在 Postman 中提出了以下 GET 请求。

     http://localhost:5001/<project-name>/us-central1/indexTest
    
    Run Code Online (Sandbox Code Playgroud)

    结果:第一个
    状态:200 OK
    与实际部署的功能相同。

  6. 将功能代码更改为:

    exports.test = functions.https.onRequest(async (request, response) => {
        response.status(200).send("Second");
    });
    
    Run Code Online (Sandbox Code Playgroud)
  7. 在本地主机中点击模拟函数时获得与以前相同的结果。未反映更改。

此外,尝试停止模拟器并重新启动它。没运气。

Abh*_*bhi 6

按照 DougStevenson 的建议,我在 firebase-tools 存储库中提出了一个问题。在 Sam Stern 的支持下问题得到解决。

在这里为遇到同一问题的其他人发布解决方案。

解决方案:

  1. 每次更改 ts 文件后,运行“npm run build”以再次编译代码。
  2. 如果您想在每次更改后自动编译,请更改"build": "tsc""build": "tsc -w"in package.json