【问题标题】:Firebase cloud function not firing for rewritesFirebase 云功能不会因重写而触发
【发布时间】:2020-05-11 03:27:30
【问题描述】:

我在 firebase.json 中进行了如下重写

    "rewrites": [
      {
        "source": "/",
        "function": "addOGForHomepage"
      },
      {
        "source": "/video/**",
        "function": "addDynamicOG"
      },
      {
        "source": "/**",
        "destination": "/index.html"
      }
    ]

在我的云函数 index.js 中。我有两个快速实例:

const app_homepage = express();
const app_video_page = express();

addDynamicOG 可以正确触发。实现如下:

app_video_page.get("/video/:videoId", async (req, res) => {
    //add dynamic OG for each video and return
})
exports.addDynamicOG = functions.https.onRequest(app_video_page);

addOGForHomepage 的代码几乎相同,但从未触发过。

app_homepage.get("/", async (req, res) => {
    //add OG for homepage
})
exports.addOGForHomepage = functions.https.onRequest(app_homepage);

谁能告诉我addOGForHomepage 在我的情况下如何被解雇?谢谢!

【问题讨论】:

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


    【解决方案1】:

    要解决此问题,请先暂时删除所有其他重写以确保不存在冲突。然后,如果您的公用文件夹中有一个用于托管的静态 index.html,请暂时删除该文件并查看它是否有效。本地静态内容需要 priority 重写。

    【讨论】:

    • 谢谢道格!我正在使用 reactjs 和 firebase 托管。部署后,index.html 将在 /build 目录下创建。我不认为我可以删除它。它只会编译失败。
    • 听起来您要么对该构建或重写路径进行一些更改。 Firebase 托管使用的优先级无法更改。
    猜你喜欢
    • 2021-11-27
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    • 1970-01-01
    相关资源
    最近更新 更多