在Firebase托管上重写订单

时间:2020-07-11 19:47:08

标签: firebase google-cloud-functions firebase-hosting

我不想使用Firebase托管进行路由

"rewrites": [
  {
    "source": "/api/**",
    "function": "api"
  },
  {
    "source": "/**",
    "function": "myfunction"
  },
  {
    "source": "**",
    "destination": "/index.html"
  }
]

/ api / test应该路由到api函数

/任何东西都应该路由到我的功能

/应该路由到Firebase托管上的index.html

由于某些原因/ api / test被路由到myfunction。我无法获得正确的重写命令。你能帮助我吗?谢谢

更新:这就是我现在拥有的

{
    "hosting": {
        "public": "build",
        "ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
        "cleanUrls": true,
        "trailingSlash": false,
        "rewrites": [
            {
                "source": "/api/**",
                "function": "api"
            },
            {
                "source": "/**",
                "function": "myfunction"
            }
        ]
    },
    "functions": {
        "predeploy": ["npm --prefix \"$RESOURCE_DIR\" run lint"]
    }
}

myFunction是仍在执行并且忽略我设置的内容

/ api / test正在执行myfunction而不是api / something / test正在按预期执行myFunction

1 个答案:

答案 0 :(得分:0)

“ /”(或您的域名后没有任何斜杠)会自动路由到“ index.html”。因此,只需删除n(n-1)/2项目。具体删除:

"source": "**"

我还希望将以下内容添加到Firebase托管配置(, { "source": "**", "destination": "/index.html" } ):

firebase.json