Firebase- node.js localhost server выдает ошибку SSL_PROTOCOL, когда я пытаюсь получить данные с него - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь создать свой бэкэнд-сервер, используя node и firebase, но когда я пытаюсь извлечь данные из него, я получаю ошибку: "net :: ERR_SSL_PROTOCOL_ERROR". Мой файл firebase / functions / index. js -


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

    const app = express();
    app.get("/", (req, res) => {
      res.send("hello firebase");
    });

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


И index. html, работающий на VSCode liveServer через порт 5500, - это просто скелет emmet с <script>fetch('https://localhost:5000').then(res=>res.text()).then(res=>console.log(res));</script> в теге body. Наконец, firebase. json равен


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


Полагаю, хорошо упомянуть, что когда я go на localhost: 5000 в браузере, я получаю ожидаемую 'hello firebase'

@edit: я настроил чистый express сервер, и bahaiviour не меняется.

1 Ответ

0 голосов
/ 04 мая 2020

решаемая. Оказалось, мне просто нужно было добавить cors на сервер, и все работает просто отлично. Рабочий код:

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

const app = express();

app.use(cors());
app.get("/", (req, res) => {
  res.send("hello firebase");
});

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