Я не могу получить доступ по экспресс-маршруту на хостинге Firebase - PullRequest
0 голосов
/ 21 марта 2019

Теперь я создал файл сервером узла, например

const functions = require("firebase-functions")
const express = require("express")

/* Express */
const app = express()
app.get("/test", (request, response) => {
  response.send("Hello from Express on Firebase!")
})

const api1 = functions.https.onRequest(app)


module.exports = {
  api1
}

firebase.json

    {
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  },
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint"
    ]
  }
}

, и развернул его на хостинге firebase и попытался получить доступ к нему на хосте firebaseindex.html показывается мне, но когда мне требуется /test, он возвращается как страница 404.html!чего мне не хватает?

после обновления firebase.json и добавления переписанных в

{
  "hosting": 
  {
    "public": "public",
    "rewrites": [
      {
          "source": "/test",
          "function": "app"
      }
    ]
  }
}

сообщение теперь другое enter image description here


Ответ


Я должен структурировать файлы своего проекта в -project (папка) --- functions (папка) (содержится во всех файлах nodejs) ---общедоступный (заполнитель)

1 Ответ

1 голос
/ 21 марта 2019

Вам необходимо включить раздел rewrites в ваш файл firebase.json.Это говорит серверам Firebase, как маршрутизировать любые поступающие запросы ... и сейчас вы ничего не говорите.

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

Этот ответ на самом деле не являетсяответьте на свой вопрос, но он демонстрирует правильный способ настройки перезаписей с помощью приложений-экспресс-функций облачных функций.

...