繁体   English   中英

将 Firebase 托管重新路由到 Express Cloud Functions

[英]Rerouting Firebase Hosting to Express Cloud Functions

我似乎无法配置路由以将 firebase 托管连接到我的云 function Express 应用程序。 我尝试按照此处所示进行设置,但行为似乎有所不同。 我似乎无法弄清楚我做错了什么。 请发送帮助,我要疯了。

索引.js

const functions = require("firebase-functions");

const app = require('./app');
exports.api = functions.https.onRequest(app);

应用程序.js

const app = express();
// ...
app.use(cors());
app.use('/params', paramsRoutes);
module.exports = app;

firebase.json

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

有适当的文档列出了您在 Firebase Hosting using a custom domain 中托管 Cloud Functions 的要求。

  • 确保您拥有最新版本的 Firebase CLI 并且您已初始化 Firebase 托管。
  • 通过从项目目录的根目录运行以下命令来初始化 Cloud Functions: firebase init functions

此外,根据文档,我们可以使用重写来满足特定 firebase 托管 URL 到 function 的请求。为此,您需要使用“/api”。 您不必添加整个 URL,因为您是从 firebase 主机重定向的。 因此,当您添加“/api”时,您表示将前往“PROJECT_ID.web.app/api 和 PROJECT_ID.firebaseapp.com/api”的请求重定向到您指定的 function。
如果你想将每一个 URL 重定向到你的主机到 Cloud Functions 中的一个快速应用程序,你需要执行以下操作:

  • 确保您的公共托管文件夹中没有 index.html(否则它将始终以路径 / 提供)。
  • 您的 Express 路由需要与传入的 URL 完全匹配,而不仅仅是通配符部分。

您可以在文档中阅读更多内容或关注这篇中篇文章以了解更多详细信息。
检查这些链接以获取类似的实现:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM