Flutter Web Firebase(未创建名为 '[DEFAULT]' 的Firebase应用)

移动开发 2026-07-10

在将Firebase集成到Flutter Web时会出现问题。

Firebase无法在Flutter Web中初始化。

控制台错误如下所示。

下面是main与 index的源文件。

错误:

FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - call initializeApp() first (app/no-app). https://www.gstatic.com/firebasejs/12.9.0/firebase-app.js 2270:29
                 getApp package:firebase_core_web/src/interop/core.dart 60:28
                  app$ package:firebase_core_web/src/firebase_core_web.dart 299:24
            <fn> dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 623:19
               <fn> dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 648:23
               <fn> dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 594:19
               <fn> dart-sdk/lib/async/zone.dart 1849:54
             runUnary dart-sdk/lib/async/future_impl.dart 222:18
                  handleValue dart-sdk/lib/async/future_impl.dart 948:44
                  handleValueCallback dart-sdk/lib/async/future_impl.dart 977:13
                  _propagateToListeners dart-sdk/lib/async/future_impl.dart 720:5
                   [_completeWithValue] dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 504:7
                complete dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 571:12
               _asyncReturn package:firebase_core_web/src/firebase_core_web.dart 225:3
             <fn> dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 623:19
               <fn> dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 648:23
               <fn> dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 594:19
               <fn> dart-sdk/lib/async/zone.dart 1849:54
             runUnary dart-sdk/lib/async/future_impl.dart 222:18
                  handleValue dart-sdk/lib/async/future_impl.dart 948:44
                  handleValueCallback dart-sdk/lib/async/future_impl.dart 977:13
                  _propagateToListeners dart-sdk/lib/async/future_impl.dart 720:5
                   [_completeWithValue] dart-sdk/lib/async/future.dart 533:22
            <fn> dart-sdk/lib/async/zone.dart 1849:54
             runUnary dart-sdk/lib/async/future_impl.dart 222:18
                  handleValue dart-sdk/lib/async/future_impl.dart 948:44
                  handleValueCallback dart-sdk/lib/async/future_impl.dart 977:13
                  _propagateToListeners dart-sdk/lib/async/future_impl.dart 720:5
                   [_completeWithValue] dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 504:7
                complete dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 571:12
               _asyncReturn package:firebase_core_web/src/firebase_core_web.dart 197:3
             <fn> dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 623:19
               <fn> dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 648:23
               <fn> dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 594:19
               <fn> dart-sdk/lib/async/zone.dart 1849:54
             runUnary dart-sdk/lib/async/future_impl.dart 222:18
                  handleValue dart-sdk/lib/async/future_impl.dart 948:44
                  handleValueCallback dart-sdk/lib/async/future_impl.dart 977:13
                  _propagateToListeners dart-sdk/lib/async/future_impl.dart 720:5
                   [_completeWithValue] dart-sdk/lib/async/future_impl.dart 804:7
                   <fn> dart-sdk/lib/async/schedule_microtask.dart 40:34
            _microtaskLoop dart-sdk/lib/async/schedule_microtask.dart 49:5
             _startMicrotaskLoop dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 118:77  tear dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 188:69
               <fn>

main.dart:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp(
    options: const FirebaseOptions(
      apiKey: "xxx",
      authDomain: "xxx",
      projectId: "xxx",
      storageBucket: "xxx",
      messagingSenderId: "xxx",
      appId: "xxx",
      measurementId: "xxx",
    ),
  );

  runApp(const MyApp());
}

index.html:

<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-app.js"></script>
  <script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-storage.js"></script>
  <script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-firestore.js"></script>
  <script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-auth.js"></script>

  <script>
    var firebaseConfig = {
      apiKey: "xxx",
      authDomain: "xxx",
      projectId: "xxx",
      storageBucket: "xxx",
      messagingSenderId: "xxx",
      appId: "xxx",
      measurementId: "xxx"
    };

    // Initialize Firebase
    firebase.initializeApp(firebaseConfig);
    // const app = initializeApp(firebaseConfig);
    // const analytics = getAnalytics(app);
  </script>

解决方案

@Thom A
我猜你把设置重复了一遍。
在我看来,你不需要在main.dart中添加Firebase配置。
这是为你的Android/iOS/Windows构建吗?如果不是,你可以把它移除。
此外,在index.html中,你可以在Web项目中添加firebase配置的JSON(与Android或 iOS项目的配置不同)。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章