Flutter Web Firebase(未创建名为 '[DEFAULT]' 的Firebase应用)
在将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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。