Firebase App Hosting została zaprojektowana specjalnie z myślą o programowaniu nowoczesnych aplikacji internetowych z użyciem frameworków. Ta strona zawiera informacje o narzędziach i ramach, które App Hosting obsługuje bezpośrednio, a także służy jako punkt wyjścia do zapoznania się z powiązanymi frameworkami i narzędziami.
Platformy internetowe i App Hosting
App Hosting oferuje 2 poziomy obsługi nowoczesnych frameworków internetowych: wstępnie skonfigurowaną obsługę kompilacji i wdrażania oraz obsługę na poziomie społeczności dzięki udostępnianiu komponentów open source zgodnych ze specyfikacją pakietu danych wyjściowych. W obu przypadkach komponent adaptera platformy umożliwia integrację określonej platformy z usługą App Hosting.
Platformy z wstępnie skonfigurowanymi funkcjami kompilacji i wdrażania
Dzięki wstępnie skonfigurowanemu obsłudze kompilacji i wdrażania Firebase może określić, z którego frameworku korzystasz, na podstawie pliku package-lock.json
lub innego pliku blokady, a następnie zoptymalizować proces kompilacji i wdrażania aplikacji. Google zobowiązuje się do obsługi tych frameworków, a zespół pomocy Firebase może przyjmować zgłoszenia problemów i prośby o dodanie funkcji.
Ten poziom pomocy obejmuje:
- Next.js
- Angular
Szczegółowe informacje o konkretnych wersjach i poziomach pomocy znajdziesz w harmonogramie pomocy.
Jeśli spróbujesz wdrożyć aplikację Node.js, której brakuje pliku blokady, App Hostingnie uda się utworzyć ani uruchomić aplikacji. Plik package-lock.json
możesz utworzyć, uruchamiając npm install
w katalogu głównym.
Ramy obsługiwane przez społeczność
Oprócz Next.js i Angular App Hosting obsługuje też dowolną platformę internetową, która jest w stanie wygenerować dane kompilacji zgodne z naszą specyfikacją pakietu danych wyjściowych. Autorzy frameworków mogą skorzystać ze specyfikacji pakietu danych wyjściowych, aby zapewnić obsługę ich frameworków przez App Hosting. Na przykład popularny framework Nuxt jest obsługiwany przez zespół Nitro, który stworzył adapter Firebase, aby umożliwić wdrażanie aplikacji Nuxt w App Hosting.
Jeśli chcesz zobaczyć dodatkowe platformy obsługiwane przez App Hosting, możesz utworzyć adapter platformy lub skontaktować się z jej administratorami, aby przekonwertować dane wyjściowe kompilacji na format App Hosting. Adaptery Next.js i Angular stanowią dobre przykłady dla wszystkich, którzy tworzą adaptery.
Informacje o ramach obsługiwanych przez społeczność znajdziesz na stronie Firebase Open Source. Problemy i prośby o dodanie funkcji w ramach frameworków obsługiwanych przez społeczność należy kierować do społeczności zajmującej się oprogramowaniem typu open source lub do autorów frameworku. W niektórych przypadkach możemy pomóc, ale w pierwszej kolejności należy skontaktować się ze społecznością.
App Hosting adaptery framework
W App Hosting obsługiwane są zarówno wstępnie skonfigurowane, jak i obsługiwane przez społeczność frameworki, za pomocą adapterów frameworków. Adaptery App Hosting frameworka pełnią 2 kluczowe role:
- Analizują kod źródłowy i pliki konfiguracji związane z danym frameworkiem (np.
next.config.js
) oraz generują pakiet wyjściowy, który może być przetwarzany przez pozostałą część infrastruktury App Hosting. - Wykonują one polecenie kompilacji aplikacji, aby wygenerować zasoby statyczne i utworzyć zoptymalizowaną wersję produkcyjną aplikacji.
Adaptery platformy kompilują aplikację Node.js za pomocą npm run build
. Najlepiej działają one z domyślnymi skryptami kompilacji dla każdej platformy: next build
w przypadku Next.js i ng build
w przypadku Angulara. App Hosting spróbuje utworzyć wersje za pomocą niestandardowych poleceń, ale nie możemy zagwarantować powodzenia. Możesz zastąpić skrypty kompilacji i uruchomienia w apphosting.yaml
.
Źródło adapterów Next.js i Angular jest dostępne w pakiecie firebase-framework-tools.
Czas działania aplikacji App Hosting
Gdy aplikacja Node.js zostanie skompilowana i wdrożona przez App Hosting, będzie działać w wersji Cloud Run. W związku z tym wersja środowiska uruchomieniowego aplikacji powinna mieścić się w zakresie obsługiwanym przez Cloud Run oraz przez wybrany framework internetowy. W przypadku wstępnie skonfigurowanej obsługi Angular i Next.js oznacza to, że obsługiwane są te wersje Node.js:
- Next.js w wersji 13.5.x lub nowszej
- Angular w wersji 18.2.x lub nowszej
- Node.js w wersji 18 lub nowszej
App Hosting nie zapewnia automatycznie aktywnego wsparcia dla nowo opublikowanych wersji frameworka. Wersje nowsze niż nasza obecnie oznaczona jako „aktywna” będą uważane za wersje w stanie „podglądowym” do czasu, gdy zostaną oficjalnie oznaczone jako „aktywne” w przypadku App Hosting.
App Hosting zapewnia wsparcie długoterminowe (LTS) dla najnowszej wersji podrzędnej danej wersji głównej przez rok od zakończenia okresu aktywnego wsparcia, pod warunkiem, że będziesz regularnie aktualizować do najnowszych wersji poprawek w tej wersji podrzędnej. Szczegółowe informacje o Next.js i Angular znajdziesz w tabelach poniżej.
Harmonogram pomocy Next.js
Wersja | Stan | Wycofanie |
---|---|---|
13.5.x | lts | 2026-10-9 |
14.2.x | lts | 2026-10-9 |
15.0.x | aktywna | nie wcześniej niż 2025-10-9 |
15.1.x | aktywna | nie wcześniej niż 2025-10-9 |
15.2.x | aktywna | - |
Harmonogram pomocy dotyczącej Angulara
Wersja | Stan | Wycofanie |
---|---|---|
18.2.x | lts | 2026-10-9 |
19.0.x | aktywna | nie wcześniej niż 2025-10-9 |
19.1.x | aktywna | nie wcześniej niż 2025-10-9 |
19.2.x | aktywna | - |
Menedżerowie pakietów
App Hosting używa Buildpacków natywnych dla chmury do instalowania zależności i kompilowania aplikacji za pomocą npm, yarn lub pnpm. Inne menedżery pakietów, takie jak JSR, nie są obsługiwane.
NPM
- NPM to domyślny menedżer pakietów.
- Po pomyślnym skompilowaniu zależności nieprodukcyjne są usuwane.
- Sekcję wersji npm możesz określić za pomocą pola
engines.npm
w plikupackage.json
.
Włóczka
- Gdy w projekcie uwzględnisz plik
yarn.lock
, zostanie użyty Yarn. - Wersję przędzy możesz określić w polu
engines.yarn
lubpackageManager
w plikupackage.json
. - App Hosting obsługuje tryb PnP Yarn2.
Pnpm
- Pnpm jest używany zamiast pliku
pnpm-lock.yaml
, gdy uwzględnisz go w projekcie. - Wersję pnpm możesz określić w polu
engines.pnpm
lubpackageManager
w plikupackage.json
. - Przykładowy działający kod znajdziesz w pliku sample-node-pnpm. .
Monorepozytoria w App Hosting
App Hosting obsługuje aplikacje oparte na Nx. Szczegółowe informacje znajdziesz w artykule Używanie repozytorium mono w App Hosting.
Obsługiwane są te wersje Nx:
Wersja | Stan | Wycofanie |
---|---|---|
19.5.x | roboty konserwacyjne | 2025-10-9 |
19.6.x | roboty konserwacyjne | 2025-10-9 |
19.7.x | roboty konserwacyjne | 2025-10-9 |
19.8.x | lts | 2026-10-9 |
20.0.x | aktywna | nie wcześniej niż 2025-10-9 |
20.1.x | aktywna | nie wcześniej niż 2025-10-9 |
20.2.x | aktywna | nie wcześniej niż 2025-10-9 |
20.3.x | aktywna | nie wcześniej niż 2025-10-9 |
20.4.x | aktywna | nie wcześniej niż 2025-10-9 |
20.5.x | aktywna | nie wcześniej niż 2025-10-9 |
20.6.x | aktywna | nie wcześniej niż 2025-10-9 |
20.7.x | aktywna | – |
Jeśli potrzebujesz pomocy w przypadku innych typów monorepo, daj nam znać na Firebase UserVoice.