Firebase CLI: "Настроить как одностраничное приложение (переписать все URL-адреса в /index.html)"

Я просто использовал Firebase CLI, чтобы запустить статический хостинг-проект. Что именно происходит при включении опции "настроить как одностраничное приложение"? Я ищу описание того, какие файлы были изменены, и какой эффект он оказывает на сервер Firebase.

Screenshot of firebase init command

Ответ 1

Эта опция просто устанавливает флаг в файле firebase.json, чтобы перенаправить все URL-адреса на /index.html.

"rewrites": [ {
  "source": "**",
  "destination": "/index.html"
} ]

Дополнительную информацию смотрите в документации хостинга Firebase.

Ответ 2

Полный пример:

{
  "hosting": {
    "public": ".",
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}

Ответ 3

Официальное объяснение Firebase:

Мы использовали этот вариант в прошлом году (Q1 и Q2), но он, казалось, ничего не делал, но в наши дни, когда мы его применяем, определенно все работает совсем по-другому. Полное официальное объяснение того, что он делает, здесь:

https://firebase.google.com/docs/hosting/url-redirects-rewrites#section-rewrites

Там даже некоторая полезная информация об использовании заголовков в следующем разделе той же страницы.

Ответ 4

Примечание: если вы хотите использовать рендеринг на стороне сервера (SSR), введите Нет и настройте rewrites следующим образом:

"rewrites": [
  {
    "function": "angularUniversalFunction",
    "source": "**"
  }
]

В конце концов, что бы вы ни выбрали, вы всегда можете изменить это в файле firebase.json.