Mam aplikację internetową Polymer wdrożoną przy użyciu hostingu Firebase.Uncaught SyntaxError: Identyfikator "baseUrl" został już zadeklarowany
Trasowanie między widokami działa, ale obsługa strony z błędami nie jest.
udało mi się odtworzyć problem na minimalnym przykład przy użyciu oficjalnego polimerowo-2-starter-kit przykład:
https://fir-polymer-404-issue.firebaseapp.com/
Na przykład, jeśli otworzysz następujący adres URL, błąd strona nie jest wyświetlana:
https://fir-polymer-404-issue.firebaseapp.com/not-existing
Zamiast tego pojawia się błąd poniżej:
my-not-existing.html:56 Uncaught SyntaxError: Identifier 'baseUrl' has already been declared
at my-not-existing.html:56
(anonymous) @ my-not-existing.html:56
Plik konfiguracyjny firebase.json wykorzystywane do poprzedniego przykładu jest tutaj:
{
"hosting": {
"public": ".",
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
}
chciałbym mieć obsługę stronę błędu popełnionego przez polimer.
Należy pamiętać, że ta sama aplikacja obsługiwana przez polymer serve
działa poprawnie.
Wygląda na to, że problem pochodzi z konfiguracji hostingu Firebase. Cały ruch jest przekierowywany do index.html, więc gdy Polymer załaduje nieistniejącą stronę, serwer Firebase zwraca odpowiedź HTTP 200. Niestety, nie mam pojęcia, jak rozwiązać problem.
Próbowałem stworzyć przekierowanie dla non-404 odpowiedzi tylko z następującego pliku konfiguracyjnego:
{
"hosting": {
"public": ".",
"redirects": [
{
"source": "**",
"destination": "/index.html",
"type": 200
}
]
}
}
Niestety, obiekt typ może być używany tylko kod 3xx:
Error: HTTP Error: 400, hosting.redirects[0].type is not one of enum values: 301,302,303,304,305,307,308
Należy również pamiętać, że niestandardowy plik 404.html to placed at the root.
Jedyne rozwiązanie, które widzę, to lista wszystkich istniejących tras (w jednym pliku), ale wygląda na szaloną.
Każdy pomysł jest mile widziany.
Widziałem 304 na nieistniejącym adresie URL. zaktualizowałeś to? –
Nie, plik konfiguracyjny _firebase.json_ nie został dotknięty. – Laurent