小编Adi*_*wal的帖子

Firebase托管与动态云功能重写

我在一个名为的函数中的firebase上有一个基于express.js的云函数应用程序api.要使用自定义域,我正在尝试使用Firebase Hosting重写将特定URL路由到该功能.我在这里关注云功能和Firebase托管的官方文档,https: //firebase.google.com/docs/hosting/functions ,并尝试了许多组合,包括以下内容:

"rewrites": [
      {
        "source": "/api/**",
        "function": "api"
      }
    ]

"rewrites": [
      {
        "source": "/api/:path1/:dat1/dat",
        "function": "api/:path1/:dat1/dat"
      }
    ]
"rewrites": [
      {
        "source": "/api/path1/dat1/dat",
        "function": "api"
      }
    ]
"rewrites": [
      {
        "source": "/api/*/*/*",
        "function": "api"
      }
    ]
Run Code Online (Sandbox Code Playgroud)

可悲的是,它似乎不适用于任何可能的组合.我的快递应用程序具有以下我计划使用的GET路径:

'/api/users/:userId/:userData'
'/api/users/:userId/:userData/json'
'/api/users/:userId/'
Run Code Online (Sandbox Code Playgroud)

和其他类似的.:userId和:userData是我的请求中的参数,因为它与express.js一起使用

所需的功能按预期工作

https://my-firebase-app.cloudfunctions.net
Run Code Online (Sandbox Code Playgroud)

但他们没有合作

https://my-app.firebaseapp.com
Run Code Online (Sandbox Code Playgroud)

请告诉我这些应该如何工作以及我做错了什么.

编辑:这是我的云功能导出的示例

const functions = require('firebase-functions');
const express = require('express');
const app = express();

app.get('/users/:userId/:userData/json', (req, res) => {
    // Do App stuff here
}
// A couple …
Run Code Online (Sandbox Code Playgroud)

express firebase firebase-hosting google-cloud-functions

14
推荐指数
2
解决办法
7907
查看次数