0
votes

I'm trying to use firebase(authentification, firestore database, storage) as backend to my Flutter app. Everything work perfect on Android/iOS, but when I tried serving a Flutter web it crashes with error, to which I didn't find an answer.

    at Object.firestore$ [as firestore] (http://localhost:54563/packages/firebase/src/top_level.dart.lib.js:94:55)
at new cloud_firestore_web.FirestoreWeb.new (http://localhost:54563/packages/cloud_firestore_web/src/write_batch_web.dart.lib.js:793:37)
at Function.registerWith (http://localhost:54563/packages/cloud_firestore_web/src/write_batch_web.dart.lib.js:738:71)
at Object.registerPlugins (http://localhost:54563/packages/reviewcredibility/generated_plugin_registrant.dart.lib.js:17:38)
at main$ (http://localhost:54563/web_entrypoint.dart.lib.js:15:35)
at main$.next (<anonymous>)
at runBody (http://localhost:54563/dart_sdk.js:36923:34)
at Object._async [as async] (http://localhost:54563/dart_sdk.js:36951:7)
at main$ (http://localhost:54563/web_entrypoint.dart.lib.js:14:18)
at <anonymous>:1:8
at Object.runMain (http://localhost:54563/dwds/src/injected/client.js:8343:15)
at http://localhost:54563/dwds/src/injected/client.js:22335:19
at _wrapJsFunctionForAsync_closure.$protected (http://localhost:54563/dwds/src/injected/client.js:3636:15)
at _wrapJsFunctionForAsync_closure.call$2 (http://localhost:54563/dwds/src/injected/client.js:10848:12)
at Object._asyncStartSync (http://localhost:54563/dwds/src/injected/client.js:3600:20)
at main__closure1.$call$body$main__closure (http://localhost:54563/dwds/src/injected/client.js:22347:16)
at main__closure1.call$1 (http://localhost:54563/dwds/src/injected/client.js:22279:19)
at StaticClosure._rootRunUnary [as call$2$5] (http://localhost:54563/dwds/src/injected/client.js:3958:16)
at _CustomZone.runUnary$2$2 (http://localhost:54563/dwds/src/injected/client.js:12164:39)
at _CustomZone.runUnaryGuarded$1$2 (http://localhost:54563/dwds/src/injected/client.js:12092:14)
at _ControllerSubscription._sendData$1 (http://localhost:54563/dwds/src/injected/client.js:11642:19)
at _DelayedData.perform$1 (http://localhost:54563/dwds/src/injected/client.js:11796:59)
at _PendingEvents_schedule_closure.call$0 (http://localhost:54563/dwds/src/injected/client.js:11845:14)
at Object._microtaskLoop (http://localhost:54563/dwds/src/injected/client.js:3801:21)
at StaticClosure._startMicrotaskLoop (http://localhost:54563/dwds/src/injected/client.js:3807:11)
at _AsyncRun__initializeScheduleImmediate_internalCallback.call$1 (http://localhost:54563/dwds/src/injected/client.js:10720:9)
at invokeClosure (http://localhost:54563/dwds/src/injected/client.js:1172:26)

Please can you suggest some fixes? Thanks.

1

1 Answers

0
votes

I figured it out

to file which is generated from firebase when adding web support, pay attention to add all needed files. Firebase console generates just firebase-app.js and firebase-analytics.js , so if you are using some offirebase-firestore.js, firebase-auth.js or firebase-storage.js, you have to put it there on your own. This would be nice to be mentioned in documentation.

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

<!-- TODO: Add SDKs for Firebase products that you want to use
     https://firebase.google.com/docs/web/setup#available-libraries -->

<script>
    var firebaseConfig = {
        apiKey: "YOUR_API_KEY",
        authDomain: "YOUR_DOMAIN",
        databaseURL: "YOUR_DATABASE",
        projectId: "YOUR_PROJECT_ID",
        storageBucket: "STORAGE",
        messagingSenderId: "PUSH_ID",
        appId: "APP_ID"
    };
    // Initialize Firebase
    firebase.initializeApp(firebaseConfig);
</script>