【问题标题】:How to run an Express API via Firebase Cloud Functions locally?如何在本地通过 Firebase Cloud Functions 运行 Express API?
【发布时间】:2020-06-06 23:30:35
【问题描述】:

我有一个使用 Express 的标准 REST API,通过 Firebase 云函数公开。

const api = express()

api.get('/test', (req, res) => res.status(403).json({ "REASON": "UNAUTHORIZED" }))

exports.api = functions.https.onRequest(api)

远程

当我部署它并通过邮递员发送GET https://<remote>/api/test 时,我按预期收到403 { "REASON": "UNAUTHORIZED" }

本地

当我运行firebase emulators:start --only functions 以在本地提供这些功能并对其进行测试时,我确实在终端中看到了functions: HTTP trigger initialized at http://localhost:5001/.../api,但是当我通过邮递员发送GET http://localhost:5001/.../api/test 时,我得到了200 Not Found

我错过了什么吗?

【问题讨论】:

  • 如果您使用 Firebase 仿真器套件执行的复制步骤无法按您预期的方式运行,我建议您在 Firebase CLI GitHub 上提交问题。 github.com/firebase/firebase-tools
  • 这确实是 Firebase CLI 的一个缺陷,似乎在最新版本(7.13.1)中已修复

标签: node.js firebase express google-cloud-functions firebase-cli


【解决方案1】:

这确实是 Firebase CLI 的一个缺陷,它似乎已在最新版本 (7.13.1) 中修复

使用:npm install -g firebase-tools@latest安装了最新版本

注意:确实需要我更新到兼容版本的firebase-functionsfirebase-admin

【讨论】:

    猜你喜欢
    • 2022-12-03
    • 2020-01-16
    • 2020-10-01
    • 2018-10-10
    • 2021-11-30
    • 2017-08-07
    • 1970-01-01
    相关资源
    最近更新 更多