Облачные функции Firebase не называются - PullRequest
0 голосов
/ 12 октября 2019

Мой сайт будет вызывать функцию "s", когда я получу доступ к "/ s /: id".
Однако на самом деле он никогда не вызывается.
Как подтверждается обзором проекта firebase, нет никаких доказательств того, что функция былаПозвонил.
Я не знаю почему, потому что в консоли нет ошибки.

#functions/firebase.json
{
  "functions": {
    "source": "functions"
  },
  "hosting": {
    "public": "dist",
    "ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
    "rewrites": [
      {
        "source": "/s/*",
        "function": "s"
      },
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

При обращении к «s /: id» функция не вызывается, а «index».html ".
Я знаю, что" index.html "предпочтительнее, потому что он находится в" public ", но я не думаю, что это будет причиной того, что функция вверху не вызывается.

#functions/index.js
const functions = require("firebase-functions");
const express = require("express");
const app = express();
const admin = require("firebase-admin");

admin.initializeApp(functions.config().firebase);

const db = admin.firestore();

const genHtml = (image_url, id) => `
<!DOCTYPE html>
<html>
  <head>
    //Meta tag to overwrite
  </head>
  <body>
  <script>
      location.href = '/share/${id}';
  </script>
  </body>
</html>
`;

app.get("s/:id", (req, res) => {

//processing

});
exports.s = functions.https.onRequest(app);

В чем может быть причина?

1 Ответ

1 голос
/ 14 октября 2019

Правильно ответили, сопоставив функции и регионы базы данных. Я не знаю, является ли это причиной, но это сработало так близко.

...