与托管此类应用程序相关的大多数问题都与原始 Firebase 托管相关。 在本例中,我尝试使用与 Firebase 托管不同的“应用程序托管”。
这是我的步骤。 我使用一个简单的 Express 应用程序设置了一个 git 存储库。
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
我将 github 存储库与 Firebase 应用托管连接起来。 一切都相互联系,然后就开始了进展。 然后它给我一条错误消息,表明推出失败。 构建日志未报告任何特定错误。 它实际上表示“成功”。 我还需要设置其他设置,例如特定端口等吗?知道我在这里缺少什么吗?
首先,Firebase 应用程序托管文档 没有提及任何有关 Express 应用程序的支持:
应用程序托管为 Web 提供无需配置的构建和部署支持 在这些框架中开发的应用程序:
- Next.js 13+
- 角度17.2+
其次,App Hosting 的后端部分构建在 Cloud Run 之上,后端代码无法使用
app.listen
。 Cloud Run 基础架构会自动侦听您的请求,您只需提供一个 Express 应用程序来处理传入的请求。
如果您想使用 Firebase 部署 Express 应用,您应该参考 Firebase 的 Cloud Functions documentation 而不是 App Hosting。