我无法访问Firebase Hosting上的快速路线

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我无法访问Firebase Hosting上的快速路线相关的知识,希望对你有一定的参考价值。

现在我按节点服务器创建了一个文件

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"
      }
    ]
  }
}

消息是不同的现在enter image description here


答案


我必须将我的项目文件结构化为-project(文件夹)---函数(文件夹)(包含在所有nodejs文件中)--- public(filder)

答案

您需要在firebase.json文件中包含rewrites部分。这告诉Firebase服务器如何路由任何进来的请求......现在,你没有告诉任何事情。

"hosting": {
    "rewrites": [
        {
            "source": "**",
            "function": "api1"
        }
    ]
}

This answer实际上并不是你问题的答案,但它演示了使用云功能快递应用程序设置重写的正确方法。

以上是关于我无法访问Firebase Hosting上的快速路线的主要内容,如果未能解决你的问题,请参考以下文章

Flutter Web App Firebase Hosting Setup 完成屏幕外观?

.firebase/hosting 的目的是啥。 ALPHANUM.cache

Firebase Hosting不会生成firebase.json

Flutter 现有项目到 WebApp + Firebase (Firestore + Hosting)

Firebase - 如何访问已部署的应用程序

Firebase 为发布请求提供“路径无法识别”错误