Firebase-tools: Cloud-Funktion: /<segment>/** Umschreiben funktioniert nicht</segment>

Erstellt am 10. Juli 2017  ·  3Kommentare  ·  Quelle: firebase/firebase-tools

Ich habe die Cloud-Funktion

const app = express()

app.get('/ping', (req, res) => {
  res.send('pong');
})

exports.api = functions.https.onRequest(app)

und es funktioniert gut

https://...cloudfunctions.net/api/ping
pong

Dann füge ich folgende Konfiguration hinzu

{
  "hosting": {
    "public": "public",
    "rewrites": [ {
      "source": "/api/**", "function": "api"
    } ]
  }
}

und versuchen Sie, es von der Anwendungs-URL aufzurufen, und es schlägt fehl.

https://...firebaseapp.com/api/ping
404

Wenn ich alle Aufrufe meiner Funktionen so umschreibe

{
  "hosting": {
    "public": "public",
    "rewrites": [ {
      "source": "**", "function": "api"
    } ]
  }
}

dann funktioniert es

https://...firebaseapp.com/ping
pong

Übersehe ich hier etwas oder wird dieses Szenario nicht unterstützt?

Es gibt den Blog, der darüber schreibt, der in Rewrite verwendet und segmentiert:

https://firebase.googleblog.com/2017/06/serving-dynamic-content-with-cloud.html

Hilfreichster Kommentar

Sie müssen /api am Anfang Ihrer Expressroute hinzufügen. Präfixe sind nicht
abgeschnitten, wenn URLs an die Cloud-Funktion gesendet werden.

Am So, 9. Juli 2017, 23:27 Uhr schrieb roosi [email protected] :

Ich habe die Cloud-Funktion

const app = express()

app.get('/ping', (req, res) => {
res.senden('pong');
})

exports.api = Funktionen.https.onRequest(app)

und es funktioniert gut

https://...cloudfunctions.net/api/ping
pong

Dann füge ich folgende Konfiguration hinzu

{
"hosting": {
"öffentlich": "öffentlich",
"überschreibt": [ {
"source": "/api/**", "function": "api"
} ]
}
}

und versuchen Sie, es von der Anwendungs-URL aufzurufen, und es schlägt fehl.

https://...firebaseapp.com/api/ping
404

Wenn ich alle Aufrufe meiner Funktionen so umschreibe

{
"hosting": {
"öffentlich": "öffentlich",
"umschreibt": [ {
"source": "**", "function": "api"
} ]
}
}

dann funktioniert es

https://...firebaseapp.com/ping
pong

Übersehe ich hier etwas oder wird dieses Szenario nicht unterstützt?

Es gibt den Blog, der darüber schreibt, der in Rewrite verwendet und segmentiert:

https://firebase.googleblog.com/2017/06/serving-dynamic-content-with-cloud.html
http://url


Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/firebase/firebase-tools/issues/392 oder stummschalten
Gewinde
https://github.com/notifications/unsubscribe-auth/AAAD_updmJ5mvK9NFrx5v-a0lQckEhaHks5sMcRogaJpZM4OSaDu
.

Alle 3 Kommentare

Sie müssen /api am Anfang Ihrer Expressroute hinzufügen. Präfixe sind nicht
abgeschnitten, wenn URLs an die Cloud-Funktion gesendet werden.

Am So, 9. Juli 2017, 23:27 Uhr schrieb roosi [email protected] :

Ich habe die Cloud-Funktion

const app = express()

app.get('/ping', (req, res) => {
res.senden('pong');
})

exports.api = Funktionen.https.onRequest(app)

und es funktioniert gut

https://...cloudfunctions.net/api/ping
pong

Dann füge ich folgende Konfiguration hinzu

{
"hosting": {
"öffentlich": "öffentlich",
"überschreibt": [ {
"source": "/api/**", "function": "api"
} ]
}
}

und versuchen Sie, es von der Anwendungs-URL aufzurufen, und es schlägt fehl.

https://...firebaseapp.com/api/ping
404

Wenn ich alle Aufrufe meiner Funktionen so umschreibe

{
"hosting": {
"öffentlich": "öffentlich",
"umschreibt": [ {
"source": "**", "function": "api"
} ]
}
}

dann funktioniert es

https://...firebaseapp.com/ping
pong

Übersehe ich hier etwas oder wird dieses Szenario nicht unterstützt?

Es gibt den Blog, der darüber schreibt, der in Rewrite verwendet und segmentiert:

https://firebase.googleblog.com/2017/06/serving-dynamic-content-with-cloud.html
http://url


Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/firebase/firebase-tools/issues/392 oder stummschalten
Gewinde
https://github.com/notifications/unsubscribe-auth/AAAD_updmJ5mvK9NFrx5v-a0lQckEhaHks5sMcRogaJpZM4OSaDu
.

@roosi Ich bin letzte Woche auch auf dieses Problem main Funktion zu erstellen, die alle anderen Funktionen hostet und alle Hosting-Aufrufe dazu umschreibt. Damit können Sie beispielsweise https://...firebaseapp.com/api/ping aufrufen.

Siehe meine Antwort hier für weitere Details:
https://stackoverflow.com/a/45224176/1309346

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen