Развертывание хостов с угловым 6.0
Я ищу учебник о том, как правильно настроить хостинг firebase-tools
в моих проектах angular 6.0, и что я всегда нашел, это так.
- firebase init
- then select the Hosting
- What do you want to use as your public directory? dist
- Configure as a single-page app (rewrite all urls to /index.html)? Yes
- Overwrite? No
- ng build --prod
- firebase deploy
но после этого это всегда то, что у меня есть.
Ответы
Ответ 1
Я обнаружил, что ng build --prod
создаст dist
и другую подпапку под этим, где расположено местоположение проекта.
dist
|--TheProject_Folder
| |--assets|index.html - This index html is not using.
|--index.html - This is the html generated in the firebase init
Так что я сделал, чтобы снова инициализировать firebase init
и изменить dist/TheProject_Folder
каталог с dist
на dist/TheProject_Folder
:
- What do you want to use as your public directory? dist/TheProject_Folder
- Configure as a single-page app (rewrite all urls to /index.html)? Yes
- Overwrite? No
Ответ 2
Ниже приведен пошаговый процесс для размещения приложения angular6.0 на firebase.
1] npm install -g firebase-tool
Установить инструмент npm install -g firebase-tool
2] firebase login
Используйте инструменты CLI для входа в Firebase.
После подключения к нашей учетной записи /Gmail-аккаунту мы получим сообщение FirelBase CLI Login Successful в браузере.
3] firebase init
Вот ответы на вопросы, которые зададут инструменты Firebase:
? Вы готовы продолжить? да
? Какие функции Firebase CLI вы хотите настроить для этой папки? Нажмите пробел, чтобы выбрать функции, затем нажмите Enter, чтобы подтвердить свой выбор. Хостинг: настройка и развертывание сайтов хостинга Firebase
? Что вы хотите использовать в качестве публичного каталога? dist (This is important! Angular creates the dist folder.)
? Настроить как одностраничное приложение (переписать все URL в /index. Html)? да
4] ng build --prod
Это создаст совершенно новую папку dist/в нашем проекте с файлами, необходимыми для запуска нашего приложения.
5] Перед развертыванием приложения, перейдите в файл firebase.json и укажите публичное поле вашего проекта следующим образом
"public": "dist/your_project_name",
6] Теперь разверните проект в firebase, используя команду ниже
развертывание пожарной базы
После удаления вы получите сообщение ниже
Консоль проекта: https://************ [вы получите реальное имя URL, а не звездочки]
URL хостинга: https://************* [вы получите реальное имя URL, а не звездочки]
Вы можете получить доступ к веб-сайту по URL, указанному в URL хостинга
Ответ 3
это сработало у меня после того, как я удалил кеш и обновил браузер, спасибо.
Ответ 4
Второй возможный способ - просто изменить outputPath в angular.json на dist, поэтому строка будет выглядеть так: "outputhPath": "dist"
Ответ 5
@bajran, возможно, подробно описал все шаги, но если вы переходите с углового значения 5 на 6, единственный важный шаг - это изменить "public": "dist",
на "public": "dist/your_project_name",
в firebase. JSON
Ответ 6
Есть еще одна проблема, которая может привести к этой же самой странице. Когда мы начинаем проект с помощью
firebase init
и, следуя процедуре, по умолчанию перезаписывает файл index.html. Таким образом, если файл уже собран (для получения dist/_Project_Folder), файл index.html будет перезаписан. Построил его снова после
firebase init
ng build --prod
Ответ 7
Проблема в том, что на вопрос
Файл dist/apps/ditectrev/index.html уже существует. Переписать?
Если вы введете Y для Да, тогда он создаст свой собственный файл index.html, сгенерированный Firebase. Предоставив это N для Нет, я смог сохранить свой оригинальный index.html, который был сгенерирован после использования ng build --prod
в dist/apps/ditectrev
. Примечание: я использую рабочее пространство Nx, но то же самое должно применяться к другим проектам Angular. В обычном случае проекта Angular это будет другой путь, который будет просто dist
.
Ответ 8
Мои действия по развертыванию Angular 7.2.15
в Firebase:
-
Запустите firebase init
- Вы готовы продолжить? да
- Какие функции Firebase CLI вы хотите настроить для этой папки? Нажмите пробел, чтобы выбрать функции, затем нажмите Enter, чтобы подтвердить свой выбор. Хостинг: настройка и развертывание сайтов хостинга Firebase
- Что вы хотите использовать в качестве публичного каталога? расстояние
- Настроить как одностраничное приложение (переписать все URL в /index.html)? да
- Файл dist/index.html уже существует. Переписать? Нет Пропуск записи dist/index.html
-
Затем:
нг сборка --prod
После этого проект имеет следующую структуру:
-.firebase
-dist
- myapp
-node_modules
-myapp
- dist
-myapp
-public
-.firebaserc
-.gitignore
-.firebase.jsom
-package-lock.json
-
Затем вы должны скопировать ВСЕ ФАЙЛЫ из myapp/dist/myapp
в dist/myapp
.
-
Затем запустите firebase deploy
Ответ 9
Если у вас нет одностраничного приложения (как у меня), когда Firebase спросит
File dist/apps/ditectrev/index.html already exists. Overwrite?
Напиши Н. Я пробовал так много раз, прежде чем выяснить
Ответ 10
Это сработало, когда я очистил кеш с помощью ctrl+shift+R
аппаратного сброса в сети! Убедитесь, что правильный файл index.html
развертывается на базе Firebase.