Firebase App Hosting, özellikle çerçeve merkezli modern web uygulaması geliştirmeyi desteklemek için tasarlanmıştır. Bu sayfayı, App Hosting tarafından doğrudan desteklenen araçlar ve çerçeveler hakkında bilgi edinmek için bir referans ve ilgili çerçeveler ile araçlar hakkında bilgi edinmek için bir başlangıç noktası olarak kullanın.
Web çerçeveleri ve App Hosting
App Hosting, modern web çerçeveleri için iki geniş destek düzeyi sunar: önceden yapılandırılmış derleme ve dağıtım desteği ile çıkış paketi spesifikasyonuna uygun açık kaynak katkıları aracılığıyla topluluk düzeyinde destek. Her iki durumda da framework adapter bileşeni, belirli bir framework'ün App Hosting ile entegrasyonunu sağlar.
Önceden yapılandırılmış derleme ve dağıtım desteği sunan çerçeveler
Önceden yapılandırılmış derleme ve dağıtım desteği sayesinde Firebase, package-lock.json dosyasını veya diğer kilit dosyalarını inceleyerek hangi çerçeveyi kullandığınızı belirler ve uygulamanız için derleme ve dağıtım süreçlerini optimize eder. Google, bu çerçeveler için desteği sürdürmeye kararlıdır ve Firebase destek ekibi, sorun raporlarını ve özellik isteklerini kabul edebilir.
Bu destek düzeyi şu durumlarda sağlanır:
- Next.js
- Angular
Belirli sürümler ve destek düzeyleri hakkında ayrıntılı bilgi için destek programlarına bakın.
Bir kilit dosyası eksik olan bir Node.js uygulamasını dağıtmaya çalışırsanız App Hosting
uygulamanızı oluşturup çalıştırmaz. Kök dizininizde npm install komutunu çalıştırarak package-lock.json oluşturabilirsiniz.
Topluluk tarafından desteklenen çerçeveler
App Hosting, Next.js ve Angular'ın yanı sıra çıkış paketi spesifikasyonumuza uygun bir derleme çıkışı sağlayabilen tüm web çerçevelerini de destekler. Çerçeve yazarları, çerçevelerinin App Hosting tarafından desteklenmesini sağlamak için çıkış paketi spesifikasyonundan yararlanabilir. Örneğin, popüler Nuxt çerçevesi, Nuxt uygulamasının App Hosting'da dağıtılmasını sağlamak için Firebase bağdaştırıcısı oluşturan Nitro ekibi tarafından desteklenir.
App Hosting tarafından desteklenen ek çerçeveleri görmek istiyorsanız bir çerçeve bağdaştırıcısı oluşturabilir veya derleme çıkışlarını App Hosting biçimine dönüştürmek için çerçeve bakımcılarına ulaşabilirsiniz. Next.js ve Angular bağdaştırıcıları, bağdaştırıcı oluşturan herkes için iyi birer referans örneğidir.
Topluluk tarafından desteklenen çerçevelerle ilgili bilgileri Firebase Açık Kaynak sayfasında bulabilirsiniz. Topluluk tarafından desteklenen çerçevelerle ilgili sorunlar ve özellik istekleri açık kaynak topluluğuna veya çerçeve yazarlarına yönlendirilmelidir. Bazı durumlarda Google yardımcı olabilir ancak bu bağdaştırıcılar için ilk destek hattı topluluktur.
App Hosting çerçeve adaptörleri
App Hosting, hem önceden yapılandırılmış hem de topluluk tarafından desteklenen çerçeveler için çerçeve bağdaştırıcıları aracılığıyla destek sağlar. App Hosting çerçeve bağdaştırıcılarının iki temel rolü vardır:
- Kaynak kodunuzu ve çerçeveye özgü tüm yapılandırma dosyalarını (ör.
next.config.js) ayrıştırıp App Hosting altyapısının geri kalanı tarafından işlenebilecek bir çıkış paketi oluştururlar. - Statik öğeler oluşturmak ve uygulamanızın üretim için optimize edilmiş bir sürümünü oluşturmak üzere uygulamanızın derleme komutunu çalıştırırlar.
Çerçeve bağdaştırıcıları, Node.js uygulamanızı npm run build ile oluşturur. Bu bağdaştırıcılar, her çerçeve için varsayılan derleme komut dosyalarıyla en iyi şekilde çalışır: Next.js için next build, Angular için ng build. App Hosting, özel derleme komutlarıyla derleme yapmaya çalışır ancak başarıyı güvenilir bir şekilde garanti edemez. apphosting.yaml'de derleme ve çalıştırma komut dosyalarını geçersiz kılabilirsiniz.
Next.js ve Angular bağdaştırıcılarının kaynağı firebase-framework-tools içinde bulunur.
App Hosting için çalışma süreleri
App Hosting tarafından oluşturulup kullanıma sunulduktan sonra Node.js uygulamanız Cloud Run düzeltmesinde çalışır. Bu nedenle, uygulamanızın çalışma zamanı sürümü hem Cloud Run'ın desteklenen aralığında hem de seçtiğiniz web çerçevesinin aralığında olmalıdır. Angular ve Next.js için önceden yapılandırılmış destek söz konusu olduğunda, aşağıdaki Node.js sürümlerinin desteklendiği anlamına gelir:
- Next.js 13.5.x ve üzeri
- Angular 18.2.x ve üzeri
- Node.js 20 ve üzeri
App Hosting, yeni yayınlanan çerçeve sürümleri için otomatik olarak etkin destek sağlamaz. Şu anda belirlenen "etkin" sürümümüzden daha yeni olan sürümler, App Hosting için resmi olarak "etkin" olarak işaretlenene kadar "önizleme" durumunda kabul edilir.
App Hosting, büyük bir sürümün en son küçük sürümü için etkin destek döneminden itibaren bir yıl boyunca uzun süreli destek (LTS) sağlar. Bunun için söz konusu küçük sürümdeki en son yama sürümlerine düzenli olarak güncelleme yapmanız gerekir. Next.js ve Angular ile ilgili ayrıntılar için aşağıdaki tablolara bakın.
Next.js destek planı
| Sürüm | Durum | Kullanımdan kaldırma |
|---|---|---|
| 13.5.x | lts | 2026-10-9 |
| 14.2.x | lts | 2026-10-9 |
| 15.0.x | etkin | 2025-10-9 tarihinden önce değil |
| 15.1.x | etkin | 2025-10-9 tarihinden önce değil |
| 15.2.x | etkin | - |
Angular destek programı
| Sürüm | Durum | Kullanımdan kaldırma |
|---|---|---|
| 18.2.x | lts | 2026-10-9 |
| 19.0.x | etkin | 2025-10-9 tarihinden önce değil |
| 19.1.x | etkin | 2025-10-9 tarihinden önce değil |
| 19.2.x | etkin | - |
Otomatik temel resim güncellemeleri (ABIU)
Otomatik temel resim güncellemeleri (ABIU), yeni bir uygulama dağıtımı tetiklemenizi gerektirmeden temel çalışma zamanı ortamınıza güvenlik yamalarını otomatik olarak uygulayan bir özelliktir.
App Hosting, yeni arka uçlar için ABIU'nun etkinleştirilmesini varsayılan olarak ayarlar. Bu işlem için aşağıdaki özel şartlar geçerlidir:
- Sürümlendirilmiş Çalışma Zamanları: ABIU'yu kullanmak için sürümlendirilmiş bir çalışma zamanı (ör.
nodejs20,nodejs22,nodejs24) belirtmeniz gerekir. App Hosting, Cloud Run'ın desteğini yansıtarak çift numaralı Node.js sürümlerini destekler. - package.json eşleşmesi: App Hosting için seçtiğiniz Node sürümü,
package.jsondosyanızınenginesalanında belirtilen sürümle uyumlu olmalıdır. Bir uyuşmazlık varsa Cloud Build tarafından derleme zamanı hatasıyla karşılaşırsınız.enginesalanını her değiştirdiğinizde, dağıtım yapmadan önce arka uçunuzun çalışma zamanını güncellediğinizden emin olun.
ABIU'yu devre dışı bırakma
ABIU'yu devre dışı bırakmak isterseniz bu özelliği ilk katılım sırasında veya Firebase konsolunda çalışma zamanınız için "Belirtilmedi"'yi seçerek devre dışı bırakabilirsiniz. Sürüm içermeyen nodejs varsayılanı kullanıldığında ABIU otomatik olarak devre dışı bırakılır.
Çalışma Zamanı Sürümlerini Yönetme
Arka uçunuzun çalışma zamanı sürümünü ve ABIU tercihini App Hosting kontrol panelinizin Ayarlar sekmesinden istediğiniz zaman görüntüleyip değiştirebilirsiniz. Ancak yeni sürüm kodunuzla uyumlu değilse çalışma zamanı sürümünüzü değiştirmenin uygulamanızı bozabileceğini unutmayın.
Çalışma zamanı sürümleri, destek yaşam döngüsünün sonuna ulaşır. Değişikliklerin bozulmasını önlemek için çalışma zamanlarınızı güncel tutmanız önemlidir:
- Desteği Sonlandırılan Çalışma Zamanları: Seçtiğiniz çalışma zamanının desteği sonlandırılırsa uygulamanız genellikle çalışmaya devam eder. Konsolda bir uyarı alırsınız ve en kısa sürede daha yeni bir sürüme geçmeniz gerekir. Daha fazla bilgi için Cloud Run çalışma zamanı yaşam döngüsü dokümanlarına bakın.
- Hizmetten kaldırılan çalışma zamanları: Hizmetten kaldırılan çalışma zamanları tamamen desteklenmez. Hizmetten kaldırılan bir sürümü kullanarak yeni derlemeler veya arka uçlar oluşturmanıza izin verilmez ve bunu yapmaya çalışırsanız derleme hatası alırsınız. Hizmetten kaldırılan sürümlerde çalışan mevcut dağıtımlar durabilir ve Cloud Run bunları silme hakkını saklı tutar.
Desteklenen, desteği sonlandırılan ve hizmetten kaldırılan Node sürümlerinin tam listesi için Cloud Run Çalışma Zamanı Desteği dokümanlarına bakın. Temel resim güncellemelerinin nasıl çalıştığıyla ilgili daha fazla teknik ayrıntı için Cloud Run ABIU dokümanlarına bakın.
Paket yöneticileri
App Hosting, bağımlılıkların yüklenmesini yürütmek için Cloud Native Buildpacks'i kullanır ve uygulamayı npm, yarn veya pnpm kullanarak oluşturur. JSR gibi diğer paket yöneticileri desteklenmez.
NPM
- NPM, varsayılan paket yöneticisidir.
- Üretim dışı bağımlılıklar, derleme başarılı olduktan sonra budanır.
package.jsondosyanızdakiengines.npmalanını kullanarak npm sürüm bölümünü belirtebilirsiniz.
Yumak
- Projenize
yarn.lockdosyasını dahil ettiğinizde Yarn kullanılır. engines.yarnveyapackage.jsondosyanızınpackageManageralanında kullanılacak iplik sürümünü belirtebilirsiniz.- App Hosting, Yarn2 PnP modunu destekler.
Pnpm
- Projenize
pnpm-lock.yamldosyasını dahil ettiğinizde bunun yerine Pnpm kullanılır. package.jsondosyanızınengines.pnpmveyapackageManageralanında bir pnpm sürümü belirtebilirsiniz.- Çalışan bir örnek için sample-node-pnpm'ye bakın. görüntüleyin.
App Hosting için monorepo'lar
App Hosting, Nx tabanlı uygulamaları destekler. Ayrıntılı bilgi için Tek depolu sistemleri App Hosting ile kullanma başlıklı makaleyi inceleyin.
Aşağıdaki Nx sürümleri desteklenir:
| Sürüm | Durum | Kullanımdan kaldırma |
|---|---|---|
| 19.5.x | bakım | 2025-10-9 |
| 19.6.x | bakım | 2025-10-9 |
| 19.7.x | bakım | 2025-10-9 |
| 19.8.x | lts | 2026-10-9 |
| 20.0.x | etkin | 2025-10-9 tarihinden önce değil |
| 20.1.x | etkin | 2025-10-9 tarihinden önce değil |
| 20.2.x | etkin | 2025-10-9 tarihinden önce değil |
| 20.3.x | etkin | 2025-10-9 tarihinden önce değil |
| 20.4.x | etkin | 2025-10-9 tarihinden önce değil |
| 20.5.x | etkin | 2025-10-9 tarihinden önce değil |
| 20.6.x | etkin | 2025-10-9 tarihinden önce değil |
| 20.7.x | etkin | — |
Diğer monorepo çalışma alanı türleri için desteğe ihtiyacınız varsa Firebase UserVoice'tan bize bildirin.