Firebase Funksies-domein

Hoe u 'n aangepaste domein vir Firebase-funksies gebruik

Gereed, gereed, vuur!

Hallo daar, Tom hier skryf! As u 'n ywerige gebruiker van Firebase is, weet u hoe eenvoudig u back-back-backend eenvoudig kan hanteer. Danksy Firebase Functions skryf ek my sakelogika as 'n eenvoudige funksie, gebruik ek hierdie funksie via die CLI en kan dit vanaf die wolk oral op die planeet bereik word. Die opstelling self is so eenvoudig dat die implementering slegs 'n paar minute duur. Maar daar is 'n spesiale saak met Firebase-funksies wat dalk meer werk nodig het - met behulp van 'n aangepaste domein, en nie die een wat deur Firebase verskaf word nie.

Die uitdaging

As u net Firebase-funksies ontplooi soos beskryf, ontvang u gasheer onder 'n subdomein van Google, spesifiek onder

wolkfunksies.net

Vir eenvoudige gebruiksgevalle is dit meestal wat u benodig - gebruik die ding net en stel dit beskikbaar om te verbruik. Maar ander gebruiksgevalle vereis dat u agterkant onder u domein bereik kan word. Vir hierdie voorbeeld gebruik ek my eie domein flaming.codes.

Die opstelling

Hier is die voorvereistes, net om seker te maak:

  • jy het 'n Firebase-projek opgestel
  • onder Hosting het u u aangepaste domein opgestel; dit is 'n eenvoudige proses, waar u net 'n TXT-rekord by u gasheerverskaffer moet stoor

Die config

Om u aangepaste domein nie net vir u webtoepassing te laat werk nie, maar ook vir u funksies, moet firebase.json opgedateer word (verduideliking na die voorbeeld):

{
  "functions": {
    ...
  },
  "hosting": {
    ...,
    "rewrites": [
      {
        "source": "/api/**",
        "function": "api"
      },
      {
        "source": "!/api/**",
        "destination": "/index.html"
      }
    ]
  },
  ...
}

Die enigste truuk om dit te laat werk, is om die hosting-sleutel, nie funksies, in u firebase.json op te dateer. Wat ons basies doen, is om aan Firebase te vertel dat alle oproepe na / api / ... vanaf ons gasheer-webprogram na die funksie genaamd api moet herlei. Die ding wat my die langste geneem het, was die tweede item, waar ek uitdruklik elke ander roete as api moet verklaar as 'n standaard web-app-roete.

Met behulp van die volgende opstelling, die ou wolkfunksie

https://uscentral1-flaming-codes.cloudfunctions.net/api

word dus

https: //flaming.codes/api / ...

Let daarop dat orde hier belangrik is; die herskryfreëls word verwerk van eerste tot laaste element, dus in hierdie geval visueel gesproke van bo na onder. Die gebruik van 'n jokerteken om al u funksies te herkaart, word regtig nie aanbeveel vir algemene gebruik nie, aangesien dit u webprogram sal breek.

Afsluit

En ja, dit is regtig geen towerkuns nie, maar kan baie help as u Firebase-funksies in sekere gebruiksgevalle gebruik. Ons het gesien hoe u u wolkfunksies kan herskryf as deel van die reeds geregistreerde domein, wat die vereiste vir 'n nuwe, aangepaste subdomein elimineer - alhoewel dit ook moontlik is, maar buite die omvang van hierdie handleiding.

  • Tom