Kész, tűz, tűz!
Sziasztok, Tom ide ír! Ha Ön lelkes felhasználója a Firebase-nek, akkor tudja, mennyire egyszerű kezelni valójában a háttér nélküli backendet. A Firebase Functions-nak köszönhetően egyszerűen megírom üzleti logikámat egyszerű funkcióként, ezt a funkciót telepítem a CLI-n keresztül, és a felhőből a bolygón mindenhol elérhetem. Maga a beállítás olyan egyszerű, hogy önmagában a telepítés csak néhány percet vesz igénybe. De van egy speciális eset a Firebase Functions esetében, amely további munkát igényelhet - egyéni tartomány használatával, és nem a Firebase által biztosítottal.
A kihívás
Ha csak a leírtak szerint telepíti a Firebase Functions funkciót, akkor a Google aldomain alatt kapja meg a gazdagépet, konkrétan a
cloudfunctions.net
Egyszerű használati esetekben leginkább erre van szükséged - csak telepítsd a dolgot, és tedd elérhetővé fogyasztás céljából. De más felhasználási esetek megkövetelik, hogy a háttérprogram elérhető legyen a domainje alatt. Ebben a példában a saját flaming.codes domainemet használom.
A beállítás
Itt vannak az előfeltételek, csak annak biztosítása érdekében:
- beállított egy Firebase-projektet
- a Hosting alatt beállította egyéni domainjét; ez egy egyszerű folyamat, amikor csak TXT-rekordot kell tárolnia a tárhelyszolgáltatónál
A konfig
Ahhoz, hogy az egyéni tartomány valóban ne csak a hosztolt webalkalmazásnál működjön, hanem a funkcióinak is, a firebase.json-t frissíteni kell (magyarázat a minta után):
{
"functions": {
...
},
"hosting": {
...,
"rewrites": [
{
"source": "/api/**",
"function": "api"
},
{
"source": "!/api/**",
"destination": "/index.html"
}
]
},
...
}
Az egyetlen trükk, hogy működőképessé váljon, nem a funkciók, hanem a tárhelykulcs frissítése a firebase.json fájlban. Amit alapvetően csinálunk, azt mondjuk a Firebase-nek, hogy a hosztolt webalkalmazásunkból az / api / ... összes hívását át kell irányítani az api nevű függvényre. A legtovább a második elem volt, ahol kifejezetten minden más útvonalat be kell jelentenem, mint az api alapértelmezett webalkalmazás-útvonalként.
Az alábbi beállítások használatával a régi felhő funkciót
https://uscentral1-flaming-codes.cloudfunctions.net/api
ezért válik
https: //flaming.codes/api / ...
Vegye figyelembe, hogy itt fontos a sorrend, az átírási szabályok az elsőtől az utolsó elemig kerülnek feldolgozásra, tehát ebben az esetben vizuálisan felülről lefelé. Helyettesítő karakter használata az összes funkció újbóli feltérképezéséhez valójában nem ajánlott általános használatra, mivel ez megszakítaná a webalkalmazást.
Tekerje be
És igen, ez valóban nem varázslat, de nagy segítséget nyújthat a Firebase Functions használatakor bizonyos felhasználási esetekben. Láttuk, hogyan írhatja át a felhőfunkcióit a már regisztrált tartomány részeként, így megszűnik az új, egyéni aldomain követelménye - bár ez is lehetséges, de nem tartozik az oktatóanyag körébe.
- Tom