完整回购:https://github.com/jmsherry/firebase-full
firebase.json
{
"hosting": {
"predeploy": [
"npm --prefix webapp run build"
],
"public": "webapp/build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "/server-time",
"function": "serverTime"
},
{
"source": "**",
"destination": "/index.html"
}
]
},
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
}
}
我正在尝试使用主机功能。该功能可用(URL:https://europe-west2-full-firebase-efc5a.cloudfunctions.net/serverTime),但是服务器时间函数的重写在本地可以进行,但是在托管它的Firebase上运行时会返回404s并重定向到首页(URL:https://full-firebase-efc5a.firebaseapp.com/server-time)>
就像没有将其发送到Firebase的末端一样!
有人可以照亮吗?
答案 0 :(得分:2)
您似乎将功能部署到了europe-west2地区。不幸的是,由于Firebase Hosting仅支持us-central1的Cloud Functions,因此在生产环境中根本无法使用Firebase Hosting。来自documentation中的注释:
重要提示:Firebase托管仅在us-central1中支持云功能。
请考虑使用Cloud Run。这项工作还很多,但是您可以将其部署到任何受支持的区域,并且可以与Firebase Hosting一起使用。