Как я могу обслуживать доменный файл manifest.json для приложения heroku с зеркальными доменами? - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть приложение create-реагировать на приложение, над которым я работаю, и которое отражено в нескольких доменах.Каждый домен имеет свой собственный бренд, и теперь, когда мы поддерживаем установку приложений PWA, мы хотели бы предоставлять различные значки и имена приложений в зависимости от того, какой домен посещает пользователь.К сожалению, поскольку все домены указывают на один и тот же экземпляр Heroku, я не смог найти способ настроить файл манифеста для этого.Существуют ли какие-либо настройки для heroku, где я могу обслуживать манифест-A для посетителей из домена A и манифест-B для посетителей из домена B?Должны ли мы размещать два приложения?

1 Ответ

0 голосов
/ 15 апреля 2019

Возможно, это не лучшее решение, но в итоге я переключил пакеты сборки и написал собственный экспресс-сервер для обслуживания нашего приложения.Я установил маршрут для / index, чтобы строка заменила определенный элемент dom на правильный манифест и метатеги, необходимые для совместимости с pwa.Вот этот маршрут:

app.get('/index.html', async (req, res) => {
  const indexBuffer = await readFileAsync(path.join(__dirname, 'build', 'index.html'));

  let index = indexBuffer.toString('utf8');
  let manifestConfig = defaultConfig;

  if (req.hostname === 'app.otherHostName.com') {
    manifestConfig = otherHostNameConfig;
  }

  index = index.replace('<link rel="manifest">', manifestConfig);

  return res.send(index);
});
...