Prerender.io для Angular проекта, размещенного на firebase - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь настроить Prerender.io для своего проекта Angular, чтобы заставить работать сканеры социальных сетей, такие как facebook. Я размещаю его на firebase и думаю, что это возможно с использованием облачной функции. Это то, что я получил в своем Index. js для облачной функции:

const functions = require('firebase-functions');
const express = require('express');
const cors = require('cors')
const prerender = express();

prerender.use(cors());
prerender.use(require('prerender-node').set('prerenderToken', 'MY-TOKEN'));


exports.app = functions.https.onRequest(prerender);

И я установил firebase. json вот так:

{
  "database": {
    "rules": "database.rules.json"
  },
  "hosting": {
    "public": "dist/yaygs",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "function": "app"
      }
    ]
  }
}

Теперь , когда я хочу получить дополнительный URL (в браузере), я получаю следующую ошибку:

Cannot GET / post / EqYCpQ7X69x0wzyccYPQ

Я думаю, проблема в том, что prerenderer-node перенаправляет запрос, когда запрос не от бота. Бот пытается go указать путь / post / EqYCpQ7X69x0wzyccYPQ вместо того, чтобы всегда указывать на index. html, как это должно быть для SPA.

...