Ошибка при вызове моей функции Firebase.Ошибка типа: невозможно прочитать свойство origin из undefined в /user_code/node_modules/cors/lib/index.js:219:39 - PullRequest
0 голосов
/ 22 октября 2018

Я написал функцию Firebase и развернул ее в Firebase.Для развертывания я предпринял следующие шаги:

  1. Внутри корневой папки моего локального проекта я запустил "firebase init", который впоследствии создал папку функций.
  2. cd functions.Затем запустите «npm install --save firebase-admin firebase-functions cors»
  3. Модифицированный index.js для соответствия моей собственной функции с именем storePostData ().
  4. вернитесь в мою корневую папку через cd..
  5. run "firebase deploy"
  6. Проверено, что функция была загружена и создана на моей панели Firebase Functions.

index.js


const functions = require('firebase-functions');
const admin = require('firebase-admin');
const cors = require('cors')({ origin: true, });

exports.storePostData = functions.https.onRequest((request, response) => {
  return cors((request, response) => {

    admin.database().ref('posts').push({
      id: request.body.id,
      title: request.body.title,
      location: request.body.location,
      image: request.body.image
    })
      .then(() => {
        response.status(201).json({message: 'Data stored', id: request.body.id});
      })
      .catch((err) => {
        response.status(500).json({error: err});
      });

  });
});

Моя проблема заключается в том, что всякий раз, когда я пытаюсь вызвать свою функцию firebase, скажем, как в fetch ('https://us -central1- .cloudfunctions.net / storePostData', mypost), я получу сообщение об ошибке: «TypeError: Невозможно прочитать свойство 'origin" свойства undefined в /user_code/node_modules/cors/lib/index.js:219:39".

Я сошел с ума, имного гуглил, ... кто-нибудь сталкивался с этой ошибкой раньше и сумел ее решить?

rgds, новичок

Ответы [ 2 ]

0 голосов
/ 05 мая 2019
cors((req, res) => {})

это неверно

cors(req, res, () => {})

это правильно

коры принимают три аргумента, обратный вызов не принимает аргумента

0 голосов
/ 30 октября 2018

Сначала вы должны проверить свои функции с помощью firebase serve --only functions.Также я вижу, что вы не инициализируете firebase с admin.initializeApp()

...