J'ai une base de données Firebase reliée à deux applications, l'une étant une application iOS et l'autre, une application Web codée dans node.js, qui est un algorithme de base qui définit les données dans la base de données. Quand je lance l'algorithme auquel je suis confronté -
Erreur: Aucune application Firebase '[DEFAULT]' n'a été créée - appelez Firebase App.initializeApp (). at Error (native) at R (/Users/dd/Desktop/Code/NODE/node_modules/firebase/app-node.js:22:335) sur un (/Users/dd/Desktop/Code/NODE/node_modules/firebase/app-node.js:20:68) sur Object.c [en tant que base de données] (/Users/dd/Desktop/Code/NODE/node_modules/firebase/app-node.js:21:447) à l'objet. (/Users/dd/Desktop/Code/NODE/Bot.js:24:25) à Module._compile (module.js: 570: 32) sur Object.Module._extensions..js (module.js: 579: 10) sur Module.load (module.js: 487: 32) sur tryModuleLoad (module.js: 446: 12) à Function.Module._load (module.js: 438: 3) sur Module.runMain (module.js: 604: 10) à l'exécution (bootstrap_node.js: 394: 7) au démarrage (bootstrap_node.js: 149: 9) à bootstrap_node.js: 509: 3 dd-mac: NODE dd $
Quelqu'un pourrait-il s'il vous plaît aider?
Vous appelez probablement firebase
avant que l'application ne soit initialisée. Tous les appels à firebase.
doivent venir après .initializeApp();
firebase.initializeApp(config);
var db = firebase.firestore();
J'ai eu un problème similaire après le guide en ligne de Firebase trouvé ici .
L'en-tête de section "Initialiser plusieurs applications" est trompeur, car le premier exemple sous cet en-tête montre comment initialiser une seule application par défaut. Voici dit exemple:
// Initialize the default app
var defaultApp = admin.initializeApp(defaultAppConfig);
console.log(defaultApp.name); // "[DEFAULT]"
// Retrieve services via the defaultApp variable...
var defaultAuth = defaultApp.auth();
var defaultDatabase = defaultApp.database();
// ... or use the equivalent shorthand notation
defaultAuth = admin.auth();
defaultDatabase = admin.database();
Si vous migrez depuis le précédent SDK 2.x, vous devrez mettre à jour la manière dont vous accédez à la base de données comme indiqué ci-dessus, sinon vous obtiendrez l'erreur, No Firebase App '[DEFAULT]'
.
Google dispose d'une meilleure documentation sur les points suivants:
Ce n'est peut-être pas la meilleure réponse, mais je devais initialiser l'application avec admin et firebase comme ci-dessous. J'utilise admin pour ses propres besoins et pour Firebase.
const firebase = require("firebase");
const admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);
firebase.initializeApp(functions.config().firebase);
// Get the Auth service for the default app
var authService = firebase.auth();
function createUserWithEmailAndPassword(request, response) {
const email = request.query.email;
const password = request.query.password;
if (!email) {
response.send("query.email is required.");
return;
}
if (!password) {
response.send("query.password is required.");
return;
}
return authService.createUserWithEmailAndPassword(email, password)
.then(success => {
let responseJson = JSON.stringify(success);
console.log("createUserWithEmailAndPassword.responseJson", responseJson);
response.send(responseJson);
})
.catch(error => {
let errorJson = JSON.stringify(error);
console.log("createUserWithEmailAndPassword.errorJson", errorJson);
response.send(errorJson);
});
}
Mon problème est mais j'ai défini avec un deuxième paramètre:
AngularFireModule.initializeApp(firebaseConfig, 'reservas')
si je supprime le deuxième paramètre, cela fonctionne bien:
AngularFireModule.initializeApp(firebaseConfig)
Utilisez initializeApp avant @NgModule
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { environment } from 'src/environments/environment';
import { AuthenticateService } from './services/authentication.service';
import { AngularFireAuthModule } from '@angular/fire/auth';
import * as firebase from 'firebase';
firebase.initializeApp(environment.firebase);
@NgModule({
declarations: [AppComponent],
entryComponents: [],
imports: [
BrowserModule,
IonicModule.forRoot(),
AppRoutingModule,
AngularFireAuthModule
],
providers: [
StatusBar,
SplashScreen,
AuthenticateService,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
bootstrap: [AppComponent]
})
export class AppModule {}
Source link
VOUS APPELEZ CECI DANS JADE: firebase.initializeApp (config); AU DÉBUT DE LA FUNC
script.
function signInWithGoogle() {
firebase.initializeApp(config);
var googleAuthProvider = new firebase.auth.GoogleAuthProvider
firebase.auth().signInWithPopup(googleAuthProvider)
.then(function (data){
console.log(data)
})
.catch(function(error){
console.log(error)
})
}