Firebaseデータベースは2つのアプリにリンクされています。1つはiOSアプリで、もう1つはnode.jsでコード化されたWebアプリで、データベースにデータを設定する基本的なアルゴリズムです。私が直面しているアルゴリズムを実行しているときはいつでも-
エラー:Firebaseアプリ「[DEFAULT]」が作成されていません-Firebase App.initializeApp()を呼び出してください。 エラー(ネイティブ)でR(/Users/dd/Desktop/Code/NODE/node_modules/firebase/app-node.js:22:335)at(/ Users/dd/Desktop/Code/NODE/node_modules/firebase /app-node.js:20:68)at Object.c [as database](/Users/dd/Desktop/Code/NODE/node_modules/firebase/app-node.js:21:447)at Object。 (/Users/dd/Desktop/Code/NODE/Bot.js:24:25)Module._compile(module.js:570:32)at Object.Module._extensions..js(module.js:579:10 )Module.load(module.js:487:32)at tryModuleLoad(module.js:446:12)at Function.Module._load(module.js:438:3)at Module.runMain(module.js:604 :10)実行時(bootstrap_node.js:394:7)起動時(bootstrap_node.js:149:9)bootstrap_node.js:509:3 dd-mac:NODE dd $
誰か助けてくれますか?
おそらく、アプリが初期化される前にfirebase
を呼び出しています。 _firebase.
_へのすべての呼び出しは来なければなりませんafter.initializeApp();
_firebase.initializeApp(config);
var db = firebase.firestore();
_
完全なチュートリアルsource link
@NgModuleの前にinitializeAppを使用します
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 {}
Firebaseのオンラインガイド here に続いて同様の問題が発生しました。
「複数のアプリを初期化する」という見出しのセクションは、この見出しの下の最初の例が単一のデフォルトアプリを初期化する方法を実際に示しているため、誤解を招きます。例は次のとおりです。
// 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();
前の2.x SDKから移行する場合は、上記のようにデータベースにアクセスする方法を更新する必要があります。そうしないと、No Firebase App '[DEFAULT]'
エラー。
Googleのドキュメントは次のとおりです。
これは最善の答えではないかもしれませんが、以下のようにadminとfirebaseでアプリを初期化する必要がありました。私はadminを独自の目的のために使用し、同様に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);
});
}
私の問題は、2番目のパラメーターを追加したためです。
AngularFireModule.initializeApp(firebaseConfig, 'reservas')
2番目のパラメーターを削除すると、正常に機能します。
AngularFireModule.initializeApp(firebaseConfig)
これをジェイドで呼び出す:firebase.initializeApp(config); 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)
})
}