Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Bagikan sumber daya proyek di beberapa situs

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Anda dapat menyiapkan satu atau beberapa situs Firebase Hosting dalam satu project Firebase. Karena semua situs berada dalam proyek Firebase yang sama, semua situs dapat mengakses sumber daya Firebase lain dari proyek tersebut.

  • Setiap situs memiliki konfigurasi hosting sendiri.
  • Setiap situs menghosting kumpulan kontennya sendiri.
  • Setiap situs dapat memiliki satu atau lebih domain terkait .

Dengan menyiapkan beberapa situs Hosting dalam proyek Firebase yang sama, Anda dapat lebih mudah berbagi sumber daya Firebase antara situs dan aplikasi terkait. Misalnya, jika Anda menyiapkan blog, panel admin, dan aplikasi publik sebagai situs individual dalam proyek Firebase yang sama, semuanya dapat berbagi database pengguna Firebase Authentication yang sama, sekaligus memiliki domain atau konten uniknya sendiri.

Langkah 1 : Perbarui versi Firebase CLI Anda

Akses fitur Firebase Hosting terbaru dengan mengupdate ke versi terbaru Firebase CLI .

Langkah 2 : Tambahkan situs tambahan

Tambahkan situs tambahan ke proyek Firebase menggunakan salah satu metode berikut:

Untuk setiap metode ini, Anda akan menentukan SITE_ID yang digunakan untuk membuat subdomain default yang disediakan oleh Firebase untuk situs tersebut:

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

Karena SITE_ID digunakan untuk URL ini, ID situs memiliki persyaratan berikut:

  • Harus berupa label hostname yang valid, artinya tidak boleh berisi . , _ , dll.
  • Harus 30 karakter atau kurang
  • Harus unik secara global di dalam Firebase

Untuk setiap situs, Anda juga dapat secara opsional menambahkan domain khusus untuk menyajikan konten dan konfigurasi yang sama ke beberapa URL.

Hapus situs sekunder

Hapus situs yang tidak diinginkan dari proyek Firebase menggunakan salah satu metode berikut:

Perhatikan bahwa Anda tidak dapat menghapus situs default, yang memiliki SITE_ID yang sama dengan ID proyek Firebase Anda.

Langkah 3 : Siapkan target penerapan untuk situs Anda

Saat Anda memiliki beberapa situs dan menjalankan perintah penerapan Firebase CLI, CLI memerlukan cara untuk mengomunikasikan setelan mana yang harus diterapkan ke setiap situs. Dengan target penerapan, Anda dapat secara unik mengidentifikasi situs tertentu dengan TARGET_NAME di file konfigurasi firebase.json dan di perintah Firebase CLI untuk menguji atau menerapkan ke situs Anda.

Untuk membuat target penerapan dan menerapkan TARGET_NAME ke situs Hosting, jalankan perintah CLI berikut dari akar direktori proyek Anda:

firebase target:apply hosting TARGET_NAME RESOURCE_IDENTIFIER

Dimana parameternya adalah:

  • TARGET_NAME — nama unik (yang Anda tentukan sendiri) untuk situs Hosting tempat Anda menerapkan

  • RESOURCE_IDENTIFIERSITE_ID untuk situs Hosting sebagaimana tercantum dalam proyek Firebase Anda

Misalnya, jika Anda telah membuat dua situs ( myapp-blog dan myapp-app ) di proyek Firebase, Anda dapat menerapkan TARGET_NAME unik ( masing-masing blog dan app ) ke setiap situs dengan menjalankan perintah berikut:

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

Setelan untuk target penerapan disimpan dalam file .firebaserc di direktori project Anda, jadi Anda hanya perlu menyiapkan target penerapan satu kali per project.

Langkah 4 : Tentukan konfigurasi hosting untuk setiap situs

Gunakan TARGET_NAME yang diterapkan situs saat Anda menentukan konfigurasi hostingnya di file firebase.json .

  • Jika file firebase.json Anda menentukan konfigurasi untuk beberapa situs, gunakan format array:

    {
      "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
        }
      ]
    }
    
  • Jika file firebase.json Anda menentukan konfigurasi hanya untuk satu situs, Anda tidak perlu menggunakan format array:

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

Langkah 5 : Uji secara lokal, pratinjau perubahan, dan terapkan ke situs Anda

Jalankan salah satu perintah berikut dari root direktori proyek lokal Anda.

Memerintah Keterangan
firebase emulators:start --only hosting Mengemulasi konten Hosting dan konfigurasi situs Hosting default di URL yang dihosting secara lokal
firebase emulators:start --only hosting: TARGET_NAME Mengemulasi konten dan konfigurasi Hosting dari situs Hosting yang ditentukan di URL yang dihosting secara lokal
firebase hosting:channel:deploy \
CHANNEL_ID
Menyebarkan konten Hosting dan konfigurasi situs Hosting default di URL pratinjau
firebase hosting:channel:deploy \
CHANNEL_ID --only TARGET_NAME
Menyebarkan konten dan konfigurasi Hosting dari situs Hosting yang ditentukan di URL pratinjau
firebase deploy --only hosting Men-deploy konten dan konfigurasi Hosting ke saluran langsung dari semua situs Hosting yang dikonfigurasi di firebase.json
firebase deploy --only hosting: TARGET_NAME Menyebarkan konten dan konfigurasi Hosting ke saluran langsung dari situs Hosting yang ditentukan
Memerintah Keterangan
(tidak disarankan; gunakan emulators:start sebagai gantinya)
firebase serve --only hosting
Menyajikan konten Hosting dan konfigurasi situs Hosting default di URL yang dihosting secara lokal
(tidak disarankan; gunakan emulators:start sebagai gantinya)
firebase serve --only hosting: TARGET_NAME
Menyajikan konten dan konfigurasi Hosting dari situs Hosting yang ditentukan di URL yang dihosting secara lokal