Hazır, Hazır, Ateş!
Merhaba, Tom burada yazıyor! Firebase'in hevesli bir kullanıcısıysanız, arka ucu olmayan arka ucunuzu yönetmenin aslında ne kadar basit olabileceğini bilirsiniz. Firebase Functions sayesinde iş mantığımı sade bir fonksiyon olarak yazıyorum, bu fonksiyonu CLI aracılığıyla dağıtıyorum ve ona gezegenin her yerinden buluttan ulaşabiliyorum. Kurulumun kendisi o kadar basittir ki, dağıtım tek başına en fazla birkaç dakika sürer. Ancak Firebase İşlevlerinde, Firebase tarafından sağlanan değil, özel bir etki alanı kullanarak biraz daha çalışma gerektirebilecek özel bir durum vardır.
Meydan okuma
Firebase Functions'ı açıklandığı gibi dağıtırsanız, Google'dan bir alt alan adı altında, özellikle
bulut işlevleri.net
Basit kullanım durumları için, çoğunlukla ihtiyacınız olan şey budur - sadece şeyi dağıtın ve tüketmeye hazır hale getirin. Ancak diğer kullanım durumları, arka ucunuzun alanınız altında erişilebilir olmasını gerektirir. Bu örnek için kendi etki alanımı flaming.codes kullanacağım.
kurulum
Emin olmak için önkoşullar şunlardır:
- bir Firebase Projesi kurdunuz
- Barındırma altında, özel alan adınızı kurdunuz; bu, barındırma sağlayıcınızda bir TXT kaydını saklamanız gereken basit bir işlemdir.
yapılandırma
Özel alan adınızın yalnızca barındırılan web uygulamanız için değil, aynı zamanda işlevleriniz için de çalışmasını sağlamak için firebase.json'un güncellenmesi gerekir (örnekten sonraki açıklama):
{
"functions": {
...
},
"hosting": {
...,
"rewrites": [
{
"source": "/api/**",
"function": "api"
},
{
"source": "!/api/**",
"destination": "/index.html"
}
]
},
...
}
Çalışmasını sağlamanın tek püf noktası, firebase.json'unuzdaki işlevleri değil, barındırma anahtarını güncellemektir. Temelde yaptığımız şey, Firebase'e, barındırılan web uygulamamızdan /api/... öğesine yapılan tüm çağrıların api adlı işleve yeniden yönlendirilmesi gerektiğini söylemek. Beni en uzun süren şey, varsayılan bir web uygulaması rotası olarak ele alınacak api dışındaki tüm rotaları açıkça beyan etmem gereken ikinci öğeydi.
Aşağıdaki kurulumu kullanarak, eski bulut işlevi
https://uscentral1-flaming-codes.cloudfunctions.net/api
bu nedenle olur
Burada sıranın önemli olduğuna dikkat edin, yeniden yazma kuralları ilk öğeden son öğeye kadar işlenir, bu durumda görsel olarak yukarıdan aşağıya doğru işlenir. Tüm işlevlerinizi yeniden eşlemek için bir joker karakter kullanmak, web uygulamanızı bozacağından genel kullanım için gerçekten önerilmez.
Sarmak
Ve evet, gerçekten sihir değil, ancak belirli kullanım durumlarında Firebase İşlevlerini kullanırken büyük ölçüde yardımcı olabilir. Halihazırda kayıtlı etki alanının bir parçası olarak bulut işlevlerinizi nasıl yeniden yazacağınızı gördük, bu nedenle yeni, özel bir alt etki alanı gereksinimini ortadan kaldırdık - bu da mümkün olsa da, bu eğitimin kapsamı dışındadır.
- Tom