Firebase Hosting Emülatörü ile web uygulamalarının prototipini yapın ve test edin

Firebase Hosting emülatörüyle web uygulamanızın prototipini oluşturmaya ve test etmeye başlamadan önce, genel Firebase Local Emulator Suite iş akışını anladığınızdan ve Local Emulator Suite'i kurup yapılandırdığınızdan ve CLI komutlarını incelediğinizden emin olun.

Ayrıca Firebase Hosting'in özelliklerine ve uygulama iş akışına da aşina olmalısınız. Firebase Hosting'e girişle başlayın.

Firebase Hosting emülatörüyle ne yapabilirim?

Firebase Hosting emülatörü, Hosting hizmetlerinin yüksek kaliteli yerel emülasyonunu sağlayarak üretim Hosting'de bulunan işlevlerin çoğunu sağlar. Barındırma emülatörü şunları yapmanızı sağlar:

  • Depolama veya erişim ücreti ödemeden statik sitelerinizin ve web uygulamalarınızın prototipini oluşturun
  • Barındırma sitenize dağıtmadan önce HTTPS işlevlerinin prototipini oluşturun, test edin ve hata ayıklayın
  • Siteleri ve web uygulamalarını kapsayıcıya alınmış, sürekli entegrasyon iş akışlarında test edin.

Firebase projesi seçin

Firebase Local Emulator Suite, tek bir Firebase projesine yönelik ürünleri taklit eder.

Kullanılacak projeyi seçmek için emülatörleri başlatmadan önce, CLI'de çalışma dizininizde firebase use çalıştırın. Veya --project bayrağını her emulator komutuna iletebilirsiniz.

Local Emulator Suite, gerçek Firebase projelerinin ve demo projelerinin emülasyonunu destekler.

Proje tipi Özellikler Emülatörlerle kullanın
Gerçek

Gerçek bir Firebase projesi, oluşturduğunuz ve yapılandırdığınız projedir (büyük olasılıkla Firebase konsolu aracılığıyla).

Gerçek projelerde veritabanı örnekleri, depolama grupları, işlevler veya Firebase projesi için ayarladığınız diğer kaynaklar gibi canlı kaynaklar bulunur.

Gerçek Firebase projeleriyle çalışırken desteklenen ürünlerin herhangi biri veya tümü için emülatörler çalıştırabilirsiniz.

Taklit etmediğiniz tüm ürünler için uygulamalarınız ve kodunuz canlı kaynakla (veritabanı örneği, depolama grubu, işlev vb.) etkileşime girecektir.

Demo

Bir demo Firebase projesinde gerçek bir Firebase yapılandırması ve canlı kaynak yoktur. Bu projelere genellikle codelab'ler veya diğer eğitimler aracılığıyla erişilir.

Demo projelerine ait proje kimlikleri demo- önekine sahiptir.

Demo Firebase projeleriyle çalışırken uygulamalarınız ve kodunuz yalnızca emülatörlerle etkileşime girer. Uygulamanız, öykünücünün çalışmadığı bir kaynakla etkileşim kurmaya çalışırsa bu kod başarısız olur.

Mümkün olan her yerde demo projelerini kullanmanızı öneririz. Faydaları şunları içerir:

  • Emülatörleri Firebase projesi oluşturmadan çalıştırabileceğiniz için daha kolay kurulum
  • Kodunuzun yanlışlıkla öykünmemiş (üretim) kaynakları çağırması durumunda veri değişikliği, kullanım ve faturalandırma şansı olmayacağı için daha güçlü güvenlik
  • SDK yapılandırmanızı indirmek için internete erişmenize gerek olmadığından daha iyi çevrimdışı destek.

Temel prototip oluşturma iş akışı

Hızlı yinelemeler yapıyorsanız veya uygulamanızın öykünülmüş arka uç proje kaynaklarıyla etkileşimde bulunmasını istiyorsanız Barındırma içeriğinizi test edebilir ve yerel olarak yapılandırabilirsiniz. Yerel olarak test yaparken Firebase, web uygulamanızı yerel olarak barındırılan bir URL'de sunar.

  1. (İsteğe bağlı) Varsayılan olarak, yerel olarak barındırılan uygulamanız öykünülmüş değil, gerçek proje kaynaklarıyla (işlevler, veritabanı, kurallar vb.) etkileşime girer. Bunun yerine, isteğe bağlı olarak, yapılandırdığınız öykünülmüş proje kaynaklarını kullanmak için uygulamanızı bağlayabilirsiniz. Daha fazla bilgi edinin: Gerçek Zamanlı Veritabanı | Bulut Firestore | Bulut İşlevleri

  2. Yerel proje dizininizin kökünden aşağıdaki komutu çalıştırın:

    firebase emulators:start
  3. Web uygulamanızı CLI tarafından döndürülen yerel URL'de açın (genellikle http://localhost:5000 ).

  4. Yerel URL'yi değişikliklerle güncellemek için tarayıcınızı yenileyin.

Diğer yerel cihazlardan test edin

Varsayılan olarak emülatörler yalnızca localhost gelen isteklere yanıt verir. Bu, barındırılan içeriğinize bilgisayarınızın web tarayıcısından erişebileceğiniz ancak ağınızdaki diğer cihazlardan erişemeyeceğiniz anlamına gelir. Diğer yerel cihazlardan test etmek istiyorsanız firebase.json dosyanızı şu şekilde yapılandırın:

"emulators": {
    // ...

    "hosting": {
      "port": 5000
      "host": "0.0.0.0"
    }
  }

Sürekli entegrasyon iş akışları için kimlik doğrulama belirteçleri oluşturun

Sürekli entegrasyon iş akışlarınız Firebase Hosting'e dayanıyorsa firebase emulators:exec çalıştırmak için bir belirteç kullanarak oturum açmanız gerekecektir. Diğer emülatörler oturum açmayı gerektirmez.

Bir belirteç oluşturmak için yerel ortamınızda firebase login:ci çalıştırın; bu bir CI sisteminden yapılmamalıdır. Kimlik doğrulamak için talimatları izleyin. Belirteç tüm derlemelerde geçerli olacağından bu adımı proje başına yalnızca bir kez uygulamanız gerekir. Belirteç bir parola gibi ele alınmalıdır; gizli tutulduğundan emin olun.

CI ortamınız, derleme komut dosyalarında kullanılabilecek ortam değişkenlerini belirtmenize izin veriyorsa, FIREBASE_TOKEN adlı bir ortam değişkeni oluşturmanız yeterlidir; değer, erişim belirteci dizesidir. Firebase CLI, FIREBASE_TOKEN ortam değişkenini otomatik olarak alacak ve emülatörler düzgün şekilde başlayacaktır.

Son çare olarak, belirteci derleme betiğinize dahil edebilirsiniz ancak güvenilmeyen tarafların erişime sahip olmadığından emin olun. Bu sabit kodlu yaklaşım için firebase emulators:exec komutuna --token "YOUR_TOKEN_STRING_HERE" ekleyebilirsiniz.

Sırada ne var?