Я пытаюсь настроить 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.