Tek bir Firebase projesinde bir veya daha fazla Firebase Hosting sitesi oluşturabilirsiniz. Sitelerin tümü aynı Firebase projesinde olduğundan, tüm siteler projenin diğer Firebase kaynaklarına erişebilir.
- Her sitenin kendi barındırma yapılandırması vardır.
- Her site kendi içerik koleksiyonunu barındırır.
- Her sitenin bir veya daha fazla ilişkilendirilmiş alanı olabilir.
Aynı Firebase projesinde birden fazla Hosting sitesi oluşturduğunuzda Firebase kaynaklarını ilgili siteler ve uygulamalar arasında daha kolay paylaşabilir. Örneğin, Örneğin, blogunuzu, yönetici panelinizi ve herkese açık uygulamanızı bireysel aynı Firebase projesinde yer alıyorsa hepsi, Firebase Authentication kullanıcı veritabanı ve aynı zamanda kendi benzersiz alanları veya içerik.
1. Adım: Firebase CLI sürümünüzü güncelleyin
En güncel Firebase Hosting özelliklerine şu şekilde erişebilirsiniz: Firebase KSA'nın en son sürümüne güncelleme.
2. Adım: Başka siteler ekleyin
Aşağıdaki yöntemlerden birini kullanarak Firebase projesine başka siteler ekleyin:
İş akışını Hosting sayfa Firebase konsolunun
Firebase CLI komutunu kullanın:
firebase hosting:sites:create SITE_ID
Hosting REST API'yi kullanın:
projects.sites.create
Bu yöntemlerin her biri için, yapılandırma işleminde kullanılan bir SITE_ID
site için Firebase tarafından sağlanan varsayılan alt alan adları:
SITE_ID.web.app
SITE_ID.firebaseapp.com
Bu URL'ler için SITE_ID
kullanıldığından site kimliği şuna sahiptir:
koşullar:
- Geçerli bir ana makine adı etiketi olmalıdır. Yani
.
,_
vb. içeremez. - En fazla 30 karakter uzunluğunda olmalıdır
- Firebase'de genel olarak benzersiz olmalıdır
İsteğe bağlı olarak her siteye özel alanlar da ekleyebilirsiniz. Böylece aynı içeriği ve yapılandırmayı birden fazla URL'de sunabilirsiniz.
İkincil bir siteyi silme
Aşağıdaki yöntemlerden birini kullanarak Firebase projesindeki istenmeyen siteleri silin:
İş akışını Hosting sayfa Firebase konsolunun
Firebase CLI komutunu kullanın:
firebase hosting:sites:delete SITE_ID
Hosting REST API'yi kullanın:
projects.sites.delete
Şununla aynı SITE_ID
değerine sahip varsayılan siteyi silemeyeceğinizi unutmayın:
Firebase proje kimliğiniz.
3. Adım: Siteleriniz için dağıtım hedeflerini ayarlayın
Birden fazla siteniz varsa ve Firebase CLI dağıtım komutlarını çalıştırdığınızda
CLI, her bir cihaza hangi ayarların dağıtılması gerektiğini iletecek bir yönteme ihtiyaç duyar
girin. Yayınlama hedefleri sayesinde, firebase.json
yapılandırma dosyanızda ve Firebase CLI komutlarınızda TARGET_NAME
kullanarak belirli bir siteyi benzersiz şekilde tanımlayabilir, böylece sitelerinizi test edebilir veya sitelerinize dağıtabilirsiniz.
Dağıtım hedefi oluşturmak ve bir Hosting sitesine TARGET_NAME
uygulamak için şu komutu çalıştırın:
proje dizininizin kök dizininden aşağıdaki CLI komutunu çalıştırın:
firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER
Parametreler burada:
TARGET_NAME: Dağıttığınız Hosting site için benzersiz bir ad (kendinizin tanımladığı)
RESOURCE_IDENTIFIER — Hosting sitesi için
SITE_ID
(örneğin, Firebase projenizde listelenen
Örneğin, Google Ads hesabınızda iki site (myapp-blog
ve myapp-app
) oluşturduysanız
Firebase projesi için benzersiz bir TARGET_NAME
(blog
ve app
) her bir siteye eklemek için aşağıdaki komutları çalıştırın:
firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app
Yayınlama hedefleriyle ilgili ayarlar, proje dizininizdeki .firebaserc
dosyasında depolanır. Bu nedenle, proje başına yalnızca bir kez yayınlama hedefleri oluşturmanız gerekir.
4. adım: Her sitenin barındırma yapılandırmasını tanımlayın
Bir sitenin barındırmasını tanımlarken sitenin uygulanan TARGET_NAME
özelliğini kullanın
firebase.json
dosyası olarak kaydedin.
firebase.json
dosyanız birden fazla sitenin yapılandırmasını tanımlıyorsa dizi biçimi kullanın:{ "hosting": [ { "target": "blog", // "blog" is the applied TARGET_NAME for the Hosting site "myapp-blog" "public": "blog/dist", // contents of this folder are deployed to the site "myapp-blog" // ... }, { "target": "app", // "app" is the applied TARGET_NAME for the Hosting site "myapp-app" "public": "app/dist", // contents of this folder are deployed to the site "myapp-app" // ... "rewrites": [...] // You can define specific Hosting configurations for each site } ] }
firebase.json
dosyanız yalnızca bir sitenin yapılandırmasını tanımlıyorsa dizi biçimi kullanmanız gerekmez:{ "hosting": { "target": "blog", "public": "dist", // ... "rewrites": [...] } }
5. adım: Yerel olarak test edin, değişiklikleri önizleyin ve sitelerinize dağıtın
Yerel proje dizininizin kök dizininden aşağıdaki komutları çalıştırın.
Komut | Açıklama |
---|---|
firebase emulators:start --only hosting |
Yerel olarak barındırılan bir URL'de varsayılan Hosting sitesinin Hosting içeriğini ve yapılandırmasını taklit eder |
firebase emulators:start --only hosting:TARGET_NAME |
Hosting içeriği ve belirtilen öğenin yapılandırmasını emüle eder Yerel olarak barındırılan bir URL'de Hosting site var |
firebase hosting:channel:deploy \ |
Hosting içeriğini ve Önizleme URL'sinde varsayılan Hosting site |
firebase hosting:channel:deploy \ |
Belirtilen Hosting içeriğini ve yapılandırmasını dağıtır Önizleme URL'sinde Hosting site |
firebase deploy --only hosting |
Hosting içeriğini ve yapılandırmasını canlı kanala dağıtır
/tüm Hosting sitede yapılandırılmış.
firebase.json
|
firebase deploy --only hosting:TARGET_NAME |
Hosting içeriğini ve yapılandırmasını canlı kanala dağıtır belirtilen Hosting sitesinin sayısı |
Komut | Açıklama |
---|---|
(önerilmez; onun yerine emulators:start kullanın)firebase serve --only hosting
|
Hosting içeriğini ve Yerel olarak barındırılan bir varsayılan Hosting sitesi URL |
(önerilmez; onun yerine emulators:start kullanın)firebase serve --only hosting:TARGET_NAME
|
Belirtilen Hosting içeriğini ve yapılandırmasını sunar Yerel olarak barındırılan bir URL'de Hosting site var |