错误:未创建 Firebase 应用“[DEFAULT]” - 调用 Firebase App.initializeApp()

IT技术 javascript ios node.js firebase firebase-realtime-database
2021-01-28 02:19:09

我有一个连接到两个应用程序的 firebase 数据库,一个是 iOS 应用程序,另一个是用 node.js 编码的网络应用程序,这是一种将数据设置到数据库的基本算法。每当我运行算法时,我都会遇到-

错误:未创建 Firebase 应用“[DEFAULT]” - 调用 Firebase App.initializeApp()。 在错误(本机)在 R (/Users/dd/Desktop/Code/NODE/node_modules/firebase/app-node.js:22:335) 在 (/Users/dd/Desktop/Code/NODE/node_modules/firebase /app-node.js:20:68) 在 Object.c [作为数据库] (/Users/dd/Desktop/Code/NODE/node_modules/firebase/app-node.js:21:447) 在 Object。(/Users/dd/Desktop/Code/NODE/Bot.js:24:25) 在 Module._compile (module.js:570:32) 在 Object.Module._extensions..js (module.js:579:10) ) at 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$

有人可以帮忙吗?

6个回答

您可能firebase在应用程序初始化之前调用所有的电话都firebase必须在之后 .initializeApp();

firebase.initializeApp(config);
var db = firebase.firestore();
你的进口顺序是什么意思?我试过这个 -import firebase from '@react-native-firebase/app';然后import "@react-native-firebase/database"它不起作用
2021-03-21 02:19:09
这是我的问题,但这不是因为代码的逐行顺序,而是我的 IMPORTS 的顺序。我在初始化它的代码之前导入了使用 firebase 的代码。
2021-03-26 02:19:09
这也是我的问题,但对我来说,这是由于 Firebase 在我自己的 firebase.js 文件(从firebase导入firebase)中初始化而发生的,并且在另一个module中,我不小心导入了 from而不是我的 (initialised) ./firebase
2021-04-06 02:19:09

完整的教程链接

在@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 {}
图书馆不可知的问题不应该用图书馆特定的答案来回答。
2021-03-15 02:19:09
@mesqueeb 这可能是一个仅在 angular 中发生的错误,因此可以回答特定于语言的问题。
2021-03-31 02:19:09

如果你使用 Dart 和 Flutter

  1. 将 firebase_core 依赖项添加到 pubspac.ymal。
  2. 转到 main.dart
  3. 导入'包:firebase_core/firebase_core.dart';

4.在main()中添加异步

按照我的代码

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  var fsconnect = FirebaseFirestore.instance;

  myget() async {
    var d = await fsconnect.collection("students").get();
    // print(d.docs[0].data());

    for (var i in d.docs) {
      print(i.data());
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
      appBar: AppBar(
        title: Text('Firebase Firestore App'),
      ),
      body: Column(
        children: <Widget>[
          RaisedButton(
            child: Text('send data'),
            onPressed: () {
              fsconnect.collection("students").add({
                'name': 'sarah',
                'title': 'xyz',
                'email': 'sarah@gmail.com',
              });
              print("send ..");
            },
          ),
          RaisedButton(
            child: Text('get data'),
            onPressed: () {
              myget();
              print("get data ...");
            },
          )
        ],
      ),
    ));
  }
}
这对你有用吗?我尝试在 Main 中添加异步相同的事情。不解决问题。现在我按照链接链接也没有解决。收到错误 Firebase 未初始化。
2021-03-21 02:19:09
该解决方案对我也不起作用。我按照这个视频youtube.com/watch?v=Z0jFkP0A3B0做的一切都正确,但不幸的是我仍然收到错误消息......
2021-03-23 02:19:09

我的问题是因为我添加了第二个参数:

AngularFireModule.initializeApp(firebaseConfig, 'reservas')

如果我删除第二个参数它工作正常:

AngularFireModule.initializeApp(firebaseConfig)
如果您使用 firebase.initializeApp 而不是 AngularFireModule.initializeApp 有关系吗
2021-03-15 02:19:09
第二个参数创建一个新的“应用程序”句柄。如果省略该参数,[DEFAULT]则隐含应用程序名称,即“默认应用程序”。为什么这对您很重要,很可能代码可以通过例如隐式使用默认值。firebase.firestore()而对于自定义“应用程序”(第一个)返回值,必须传递“应用程序句柄”。我两种方式都用。主 Web 应用程序和库中命名变体的默认值。
2021-04-01 02:19:09

根据此处找到的 Firebase 在线指南,我遇到了类似的问题

标题“初始化多个应用程序”的部分具有误导性,因为该标题下的第一个示例实际上演示了如何初始化单个默认应用程序。举个例子:

// 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]'错误。

谷歌在以下方面有更好的文档:

  1. 初始化:https : //firebase.google.com/docs/database/admin/start

  2. 保存:https : //firebase.google.com/docs/database/admin/save-data

  3. 检索:https : //firebase.google.com/docs/database/admin/retrieve-data