簡體   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