Ошибка функции Firebase: приложение Firebase по умолчанию не существует - PullRequest
0 голосов
/ 17 февраля 2020

Ранее функция работала. но я добавил код, теперь эта ошибка идет. Как решить эту проблему?

Error: Error occurred while parsing your function triggers.

Error: The default Firebase app does not exist. Make sure you call initializeApp() before using any of the Firebase services.
    at FirebaseAppError.FirebaseError [as constructor] (/Users/demo/functions/node_modules/firebase-admin/lib/utils/error.js:42:28)

код

import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
import { getLocations, getLocationsByType } from '../service/locationQuery/locationQuery';

//I tried both way, but same error came
// admin.initializeApp(functions.config().firebase);
admin.initializeApp();
exports.findUsers = functions.https.onCall(async (data: any, context: any) => {

Ответы [ 2 ]

0 голосов
/ 17 февраля 2020

Трудно сказать, где именно находится ваша проблема (и я не уверен на 100%, что следующее решит ее), но существует несоответствие между способами импорта необходимых модулей:

import * as functions from 'firebase-functions';
import ...
//.....

и способ экспорта облачной функции:

exports.findUsers = functions.https.onCall(...)

Как вы прочтете здесь , импорт соответствует облачной функции TypeScript, тогда как экспорт соответствует JavaScript. .


Вы должны выровнять свой код в правильном режиме (JS или TS) в зависимости от того, что вы используете (возможно, TS, поскольку data и context набраны):

JavaScript:

const functions = require('firebase-functions');

exports.findUsers = functions.https.onCall(async (data, context) => {...]);

Машинопись:

import * as functions from 'firebase-functions';

export const findUsers = functions.https.onCall(async (data: any, context: any) => {...]);
0 голосов
/ 17 февраля 2020

Я изменил место инициализации .. теперь это работает. Я понятия не имею, почему это так.

import * as admin from 'firebase-admin';
admin.initializeApp();//add to here
import { getLocations, getLocationsByType } from '../service/locationQuery/locationQuery';

// admin.initializeApp(functions.config().firebase);

exports.findUsers = functions.https.onCall(async (data: any, context: any) => {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...