Страница не найдена при перезагрузке угловой страницы на Firebase
я развернул свое угловое приложение в firebase. Я вижу, что страница входа в систему прекрасна, но я получаю следующую ошибку при перезагрузке страницы:
This file does not exist and there was no index.html found in the current directory or 404.html in the root directory.
Why am I seeing this?
You may have deployed the wrong directory for your application. Check your firebase.json and make sure the public directory is pointing to a directory that contains an index.html file.
You can also add a 404.html in the root of your site to replace this page with a custom error page.
так как ошибка предполагает, что я проверил мой firebase.json
файл, и он отображает это:
{
"firebase": "******",
"public": "dist",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
здесь вы можете видеть, что мой мой dist
папка. Это dist
папка на самом деле,где я размещаю все свои файлы (css,js, html и индекс.html) когда gulp строит все это. Структура папок выглядит следующим образом это:
dist
css
images
js
templates
index.html
поэтому выше папку есть index.html
страница -- так почему я получаю эту ошибку? Угловой должен вмешиваться здесь и обрабатывать всю маршрутизацию, но это, похоже, не так.
редактировать
2 ответов
я исправил проблему - эта проблема вызвана Firebase (действительно, все серверы, я думаю), полагая, что каждое Угловое состояние-это папка, которая должна содержать свой собственный index.html
файл-очевидно, это не так.
то, что должно произойти, это только для того, чтобы ссылаться на наш index.html
в корне папки. Для этого вам нужно изменить свой firebase.json
файл следующим образом:
{
"firebase": "app-name",
"public": "dist",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [{
"source": "/public/**",
"destination": "/public.html"
},
{
"source": "**",
"destination": "/index.html"
}]
}
важными частями здесь являются перезаписи и исходные объекты. См. firebase.json
страница объяснение, подробнее об этом: военнослужащих.в JSON
2018 и имел одинаковую проблему. Katana24 дал хороший ответ, но с тех пор firebase немного обновилась. Вот обновленный ответ Katana24:
военнослужащих.в JSON:
{
"functions": {
"predeploy": [
"npm --prefix \"%RESOURCE_DIR%\" run lint"
],
"source": "functions"
},
"hosting": {
"public": "dist/YOURAPPNAME",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [{
"source": "/public/**",
"destination": "/public.html"
},
{
"source": "**",
"destination": "/index.html"
}
],
"storage": {
"rules": "storage.rules"
}
}
}