Najczęstsze pytania i rozwiązywanie problemów
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Na tej stronie znajdziesz odpowiedzi na najczęstsze pytania dotyczące App Hosting.
App Hosting Najczęstsze pytania
Czy App Hosting obsługuje inne platformy niż Next.js i Angular?
App Hosting zapewnia wstępnie skonfigurowaną obsługę kompilacji i wdrażania w przypadku Next.js i Angular, gdzie staraliśmy się zrozumieć te frameworki i interpretować ich natywne konfiguracje. W przypadku wielu
innych platform społeczność programistów udostępnia adaptery platformy App Hosting. Dodatkowo w przypadku każdej aplikacji Node.js z skryptem kompilacji i uruchamiania App Hostingbędzie próbować tworzyć kompilacje, ale nie może zagwarantować powodzenia. Zobacz artykuł Integracja frameworku.
W jakich regionach jest dostępna usługa Firebase App Hosting?
Z czasem liczba regionów obsługiwanych przez usługę App Hosting prawdopodobnie wzrośnie. Najnowsze informacje znajdziesz w App Hosting.
Czy do wdrażania mogę używać GitLaba lub innych dostawców Git oprócz GitHuba?
Obecnie nie jest to możliwe, ale w długoterminowym planie rozwoju usługi App Hosting uwzględniliśmy obsługę innych dostawców.
Dlaczego nie mogę znaleźć mojego repozytorium w interfejsie konsoli Firebase?
Jeśli podczas tworzenia nowego backendu w konsoli Firebase nie widzisz swojego repozytorium na liście opcji, najpierw spróbuj wybrać Odśwież listę. Jeśli preferowane repozytorium nadal jest niedostępne, konieczne może być dodanie go za pomocą opcji Przyznaj dostęp do nowego repozytorium w GitHubie.
Dodatkowo możesz zarządzać repozytoriami za pomocą aplikacji Firebase App Hosting
GitHub. Aby to zrobić, otwórz swój profil GitHub i wybierz Ustawienia, a następnie Aplikacje. Aby zarządzać repozytoriami, w wierszu tabeli odpowiadającym aplikacji Firebase App Hosting kliknij Skonfiguruj.
Jak zmienić repozytorium powiązane z projektem App Hosting?
Obecnie nie można zmienić repozytorium. Możesz jednak utworzyć nowy backend powiązany z preferowanym repozytorium w tym samym projekcie lub utworzyć nowy backend w osobnym projekcie.
Nagłówki zależą od platformy. Zrób wszystko, co zwykle robisz w przypadku swojej platformy.
Czy istnieje emulator do lokalnego tworzenia aplikacji za pomocą App Hosting?
Tak. Przed wdrożeniem aplikacji App Hosting możesz przeprowadzić lokalne testy za pomocą emulatora App Hosting, który jest częścią Pakietu emulatorów lokalnych Firebase. Zobacz, jak testować lokalnie wdrożenie aplikacji .
Dlaczego widzę błędy w App Hosting, ale nie w Cloud Build?
W takich przypadkach błąd może pochodzić z Cloud Run.
Aby się upewnić, sprawdź stan wdrażania.
Jak zmienić lub usunąć połączone konto GitHub?
Aby usunąć połączone konto GitHub, otwórz Połączenia dla programistów, sprawdź, czy wybrany jest Twój projekt, i usuń połączenie firebase-app-hosting-github-oath
oraz połączenie zaczynające się od apphosting-github-conn-
. Gdy otworzysz App Hosting w konsoli Firebase, będziesz mieć możliwość skonfigurowania nowego połączenia z GitHub.
Jak mogę skonfigurować pliki cookie w witrynie App Hosting?
Chociaż nie był on dostępny w czasie premiery podglądu App Hosting, nagłówek odpowiedzi HTTP Set-Cookie
działa teraz zgodnie z oczekiwaniami.
Ogólne App Hostingograniczenia i rozwiązywanie problemów
- Nagłówki Cache-Control zostały zmodyfikowane, aby ograniczyć buforowanie CDN do 60 minut. Ograniczenie to zostanie usunięte wkrótce po udostępnieniu produktu w wersji GA.
- Sieć CDN App Hosting może uwzględnić w kluczach pamięci podręcznej tylko określony zestaw nagłówków żądań. Lista ta obejmuje nagłówki
RSC
, Next-Router-State-Tree
, Next-Router-Prefetch
, Next-Router-Segment-Prefetch
i Next-Url
NextJS oraz standardowe nagłówki Accept
, Accept-Encoding
, Access-Control-Request-Headers
, Access-Control-Request-Method
, Origin
, Sec-Fetch-Dest
, Sec-Fetch-Mode
, Sec-Fetch-Site
, X-Goog-Allowed-Resources
i X-Origin
Cloud CDN. Jeśli odpowiedź zawiera nagłówek Vary
z wartością, która nie jest wymieniona tutaj, nasz CDN nie będzie przechowywać jej w pamięci podręcznej.
- Niebuforowane pliki statyczne są dostarczane z adresu Cloud Run. W późniejszej wersji będą przechowywane i dostarczane z adresu źródłowego App Hosting, co zapewni lepszą wydajność.
- Konsola Firebase może sporadycznie wyświetlać błąd „Nie znaleziono wersji i jest ona nieprawidłowa” podczas tworzenia backendu.
- Wszystkie backendy w tym samym projekcie korzystają z organizacji/konta GitHub.
Mogą być one połączone z różnymi repozytoriami w ramach tej organizacji lub konta.
Aby utworzyć backendy połączone z różnymi kontami GitHub, umieść je w osobnych projektach.
Ograniczenia aplikacji Angular i rozwiązywanie problemów
Chociaż App Hosting obsługuje Angulara, który jest w fazie aktywnego rozwoju i rozszerzania, ma on te ograniczenia:
- I18n: funkcje podstawowe I18n działają, ale bezpośrednie przechodzenie do stron SSR może powodować błędy.
- Lokalizacja: kompilowanie wersji na potrzeby różnych lokalizacji nie jest obsługiwane.
- Edytory: obecnie obsługiwany jest tylko Edytor aplikacji.
- Środowiska i narzędzia Monorepo: nie będą działać projekty Angulara, które mają więcej niż 1 miejsce docelowe aplikacji. Aby uzyskać bardziej kompleksowe wsparcie monorepo, użyj Nx.
Ograniczenia i rozwiązywanie problemów z Next.js
- Domyślnie wbudowana optymalizacja obrazów NextJS jest wyłączona w usłudze AppHosting, chyba że ustawisz
images.unoptimized
na wartość false lub użyjesz niestandardowego ładownika obrazów. Zobacz artykuł Optymalizacja ładowania obrazów w Next.js.
- Ścieżki URL zawierające znaki zakodowane za pomocą procentów są dekodowane przez funkcję Cloud Run. Może to powodować problemy z funkcjami, które wymagają tylko zakodowanych ścieżek URL, np. z przekierowaniem równoległym Next.js.
- Obecnie App Hosting ogranicza buforowanie aplikacji NextJS za pomocą middlewarea.
Z czasem współczynniki trafień do pamięci podręcznej powinny się poprawiać.
- Ścieżki adresów URL zawierające znaki zakodowane za pomocą znaku procenta są dekodowane przez Cloud Run.
Może to powodować problemy z funkcjami, które wymagają tylko zakodowanych ścieżek URL, np. przekierowanie równoległe Next.js.