现在我通过像这样的节点服务器创建文件
const functions = require("firebase-functions")
const express = require("express")
/* Express */
const app = express()
app.get("/test", (request, response) => {
response.send("Hello from Express on Firebase!")
})
const api1 = functions.https.onRequest(app)
module.exports = {
api1
}
firebase.json
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
},
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint"
]
}
}
,并且我已将其部署到firebase托管,并尝试在托管的firebase上尝试访问它。index.html显示给我,但是当我需要/test
时,它将返回404.html页面!我想念什么?
在更新firebase.json并添加重写后
{
"hosting":
{
"public": "public",
"rewrites": [
{
"source": "/test",
"function": "app"
}
]
}
}
我必须将我的项目文件结构化为 -项目(文件夹) --- functions(文件夹)(包含在所有nodejs文件中) --- public(filder)
答案 0 :(得分:1)
您需要在您的firebase.json文件中包含一个rewrites
部分。这就告诉Firebase服务器如何路由任何传入的请求……现在,您什么都没告诉。
"hosting": {
"rewrites": [
{
"source": "**",
"function": "api1"
}
]
}
This answer实际上不是您的问题的答案,但它演示了使用云功能快速应用程序设置重写的正确方法。