Proje kaynaklarını birden çok sitede paylaşın

Tek bir Firebase projesinde bir veya daha fazla Firebase Barındırma sitesi kurabilirsiniz. Sitelerin tümü aynı Firebase projesinde olduğundan, tüm siteler projenin diğer Firebase kaynaklarına erişebilir.

Aynı Firebase projesi içinde birden fazla Barındırma sitesi kurarak, Firebase kaynaklarını ilgili siteler ve uygulamalar arasında daha kolay paylaşabilirsiniz. Örneğin, blogunuzu, yönetici panelinizi ve genel uygulamanızı aynı Firebase projesinde ayrı siteler olarak ayarlarsanız, hepsi aynı Firebase Authentication kullanıcı veritabanını paylaşabilir ve aynı zamanda kendi benzersiz etki alanlarına veya içeriğe sahip olabilir.

1. Adım: Firebase CLI sürümünü güncelleyin

Erişim en güncel Firebase tarafından özelliklere Barındırma Firebase CLI en son sürüme güncelleyerek .

Adım 2: Ek siteleri ekleyin

Aşağıdaki yöntemlerden birini kullanarak bir Firebase projesine ek siteler ekleyin:

Bu yöntemlerin her biri için, bir belirtirsiniz SITE_ID site için Firebase-provisioned varsayılan alt etki alanları oluşturmak için kullanılır:

  • SITE_ID .web.app
  • SITE_ID .firebaseapp.com

Çünkü SITE_ID bu URL'ler için kullanılır, site kimliği aşağıdaki gereksinimleri vardır:

  • O içeremez yani geçerli bir ana makine adı etiketi olmalı . , _ , Vb
  • 30 karakter veya daha az olmalıdır
  • Firebase içinde küresel olarak benzersiz olmalıdır

Her site için ayrıca isteğe bağlı olarak yapabilirsiniz özel alan adı eklemek birden çok URL'ye aynı içeriği ve yapılandırmayı hizmet etmek.

İkincil bir siteyi silme

Aşağıdaki yöntemlerden birini kullanarak istenmeyen siteleri bir Firebase projesinden silin:

Not Aynı sahiptir varsayılan sitesini silemezsiniz Bu SITE_ID senin Firebase proje kimliği olarak.

3. Adım: siteler için dağıtma hedefleri ayarlayın

Birden çok siteniz olduğunda ve Firebase CLI dağıtım komutlarını çalıştırdığınızda, CLI'nin her siteye hangi ayarların dağıtılması gerektiğini iletmek için bir yola ihtiyacı vardır. İle dağıtma hedefleri benzersiz şekilde bir ile belirli bir siteyi belirleyebilir TARGET_NAME sizin de firebase.json yapılandırma dosyasında ve de Firebase CLI komutları test veya sitelere dağıtmak için.

Bir dağıtma hedef oluşturmak ve uygulamak için TARGET_NAME bir Barındırma sitesine, proje dizinin kökünden aşağıdaki CLI komutu çalıştırın:

firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER

Parametreler nerede:

  • TARGET_NAME - benzersiz ad (kendinizi tanımladığınız) Eğer dağıtma olduğunuzu Barındırma site için

  • RESOURCE_IDENTIFIER - SITE_ID sizin Firebase projede listelenen Barındırma site için

Eğer iki siteyi (oluşturduk Örneğin, myapp-blog ve myapp-app sizin Firebase projesinde), benzersiz geçerli olabilir TARGET_NAME ( blog ve app aşağıdaki komutları çalıştırarak her siteye sırasıyla):

firebase target:apply hosting blog myapp-blog
firebase target:apply hosting app myapp-app

Dağıtma hedefler için ayarlar saklanır .firebaserc sadece dağıtma olası hedefler projenin başına bir kez kurmanız gerekir, böylece proje dizininde dosyası.

Adım 4: her site için barındırma yapılandırmasını tanımlayın

Bir sitenin uygulamalı kullanın TARGET_NAME size onun barındırma yapılandırmasını oluşturan yaparken firebase.json dosyası.

  • Senin Eğer firebase.json dosya birden fazla site yapılandırmasını tanımlayan, bir 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
        }
      ]
    }
    
  • Senin Eğer firebase.json dosya sadece tek bir sitede yapılandırmasını tanımlayan, bir dizi biçimi kullanmak gerekli değildir:

    {
      "hosting": {
          "target": "blog",
          "public": "dist",
    
          // ...
    
          "rewrites": [...]
      }
    }
    

Siteleriniz için Test lokal, önizleme, değiştirir ve dağıtma: Adım 5

Yerel proje dizininizin kökünden aşağıdaki komutlardan herhangi birini çalıştırın.

Emretmek Açıklama
firebase emulators:start --only hosting Yerel olarak barındırılan URL'den varsayılan Barındırma sitenin Hosting içerik ve yapılandırma Emulates
firebase emulators:start --only hosting: TARGET_NAME Yerel olarak barındırılan bir URL'de belirtilen Barındırma sitesinin Barındırma içeriğine ve yapılandırmasına öykünür
firebase hosting:channel:deploy \
CHANNEL_ID
Bir önizleme URL'den varsayılan Barındırma sitenin Hosting içerik ve yapılandırma dağıtır
firebase hosting:channel:deploy \
CHANNEL_ID --only TARGET_NAME
Belirtilen Barındırma sitesinin Barındırma içeriğini ve yapılandırmasını bir önizleme URL'sinde dağıtır
firebase deploy --only hosting Yapılandırılmış tüm Barındırma sitelerin canlı kanalına Barındırma içerik ve yapılandırma dağıtır firebase.json
firebase deploy --only hosting: TARGET_NAME Barındırma içeriğini ve yapılandırmasını belirtilen Barındırma sitesinin canlı kanalına dağıtır
Emretmek Açıklama
(önerilmez; kullanım emulators:start yerine)
firebase serve --only hosting
Yerel olarak barındırılan URL'den varsayılan Barındırma sitenin Hosting içerik ve yapılandırma hizmet vermektedir
(önerilmez; kullanım emulators:start yerine)
firebase serve --only hosting: TARGET_NAME
Yerel olarak barındırılan bir URL'de belirtilen Barındırma sitesinin Barındırma içeriğini ve yapılandırmasını sunar