Не удается найти приложение FireBase по умолчанию - PullRequest
0 голосов
/ 06 июля 2018
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const firebase = require('firebase/app');
const credentials = require('./credentials.json');
const db = admin.firestore();

const user = require('./http-functions/user-creation')

var config = {
  apiKey: "KEY",
  authDomain: "ecommerce.firebaseapp.com",
  databaseURL: "https://ecommerce.firebaseio.com",
  projectId: "ecommerce",
  storageBucket: "ecommerce.appspot.com",
  messagingSenderId: "ID"
};

firebase.initializeApp(config)

admin.initializeApp({
  credential: admin.credential.cert(credentials),
  databaseURL: "https://ecommerce.firebaseio.com",
  projectId: "ecommerce"
});

exports.addUser = functions.https.onRequest((req, res) => user.addUser(req, res, db, firebase))

Я импортирую firebase, чтобы я мог использовать firebase.auth (), чтобы создать нового пользователя в firestore для облачных функций. Но у меня появляется эта ошибка, когда говорится, что при запуске развертывания Firebase:

Ошибка: приложение Firebase по умолчанию не существует. Убедитесь, что вы вызываете initializeApp () перед использованием любых сервисов Firebase. в FirebaseAppError.FirebaseError [как конструктор]

Ниже приведен код для добавления нового пользователя

   module.exports = {
  addUser: function(req, res, db, firebase, admin) {
    firebase.auth().createUserWithEmailandPassword(email, password)
            .then(userRecord => {
              const uid = userRecord.uid;
              const email = userRecord.email;
              return firebase.firestore()
              .collection('users')
              .doc(uid)
              .set({email: email},
                  {merge: true});
            })
            .catch(err => {
              console.log(err)
            })
  }
}

1 Ответ

0 голосов
/ 06 июля 2018

Попробуйте назначить intitializeApp в const и использовать его вместо firebase.auth()

Что-то вроде:

var config = {
  apiKey: "KEY",
  authDomain: "ecommerce.firebaseapp.com",
  ...
};

const firebaseApp = firebase.initializeApp(config)

module.exports = {
  addUser: function(req, res, db, firebase, admin) {
    firebaseApp.auth().createUserWithEmailandPassword(email, password)
     ...
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...