Хостинг Firebase показывает страницу приветствия после развертывания приложения angular 6?

Я хочу разработать приложения angular 6, но после развертывания firebase отображается только страница приветствия.

Вот шаги, которые я предпринял для развертывания.

  1. установлены инструменты firebase
  2. ng build --prod (в моем приложении)
  3. инициализация firebase
  4. Вы готовы продолжить? (Д/н) г
  5. (*) Хостинг: настройка и развертывание сайтов хостинга Firebase.
  6. Что вы хотите использовать в качестве общего каталога? (общественное) расстояние
  7. Настроить как одностраничное приложение (переписать все URL-адреса в /index.html)? (г/н) г
  8. Файл dist/index.html уже существует. Переписать? (г/н) г
  9. Инициализация Firebase завершена!
  10. На этом этапе я удалил папку dist и снова запустил ng build --prod
  11. angular build app в подпапке внутри каталога dist, поэтому я скопировал все содержимое из подкаталога, содержащего index.html, в dist/.
  12. развертывание базы данных
  13. firebase открытый хостинг: сайт

но после всего этого я все еще получаю приветственную страницу по ссылке.

Что я делаю неправильно!?

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
8
0
4 828
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Ответ принят как подходящий

Пытаться: 8. Файл dist/index.html уже существует. Переписать? (г/н) нет и откройте ссылку на свое приложение в режиме инкогнито. Серьезно, я застрял на несколько часов, потому что этот индекс firebase в моем случае был кэширован, поэтому я не мог видеть свое приложение после развертывания.

Почему это работает в режиме инкогнито??

XXIV 06.11.2021 16:02

Кэш браузера тоже был моей проблемой. Как упоминалось выше, попробуйте в режиме инкогнито или используйте proxysite.com (очень полезный веб-сайт), чтобы избежать кеша браузера.

Это сработало для меня:

  • Удалить папку .firebase
  • Удалить .firebaserc
  • Удалить firebase.json

Теперь запустите следующим образом:

$ firebase init hosting
? File build/web/index.html already exists. Overwrite? No
$ firebase deploy --only hosting

Проверьте путь на терминале. Если проблема все еще существует, удалите автоматически созданные папки firebase и разверните проект.

В моем случае я инициализировал firebase внутри каталога проекта (src). Просто проверьте каталог, в котором вы находитесь. Он должен быть на верхнем уровне.

После того, как вы создадите его и попытаетесь развернуть, он будет таким же, поскольку веб-страница была кэширована. Поэтому, чтобы убедиться, что вы используете в incognito.

Настроить как одностраничное приложение (переписать все URL-адреса в /index.html)? Нет ? Настроить автоматические сборки и развертывания с помощью GitHub? Нет

  • Написал public/404.html ? Файл public/index.html уже существует. Переписать? Нет

Эта ошибка генерируется index.html в общей папке папки вашего сайта.

Проблема в: firebase ищет файл index.html, иногда его нет непосредственно в каталоге dist

Решение: обновить путь public в firebase.json к "public":"dist/ProjectName" или путь к файлу index.html в папке dist

Пример

{
  "hosting": {
    "public": "dist/<YourProjectName>",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/dist/index.html"
      }
    ]
  }
}

Другие вопросы по теме