# #javascript #firebase #flutter-web
Вопрос:
Я пытаюсь внедрить firebase SDK в свой веб-проект Flutter.
Но когда я пытаюсь запустить приложение, появляется следующая ошибка:
TypeError: Cannot read properties of undefined (reading 'app')
at Object.app$ [as app] (http://localhost:49235/packages/firebase_core_web/src/interop/core.dart.lib.js:31:101)
at initializeApp (http://localhost:49235/packages/firebase_core_web/firebase_core_web.dart.lib.js:108:25)
at initializeApp.next (<anonymous>)
at runBody (http://localhost:49235/dart_sdk.js:39250:34)
at Object._async [as async] (http://localhost:49235/dart_sdk.js:39281:7)
at firebase_core_web.FirebaseCoreWeb.new.initializeApp (http://localhost:49235/packages/firebase_core_web/firebase_core_web.dart.lib.js:85:20)
at initializeApp (http://localhost:49235/packages/firebase_core/firebase_core.dart.lib.js:104:59)
at initializeApp.next (<anonymous>)
at runBody (http://localhost:49235/dart_sdk.js:39250:34)
at Object._async [as async] (http://localhost:49235/dart_sdk.js:39281:7)
at Function.initializeApp (http://localhost:49235/packages/firebase_core/firebase_core.dart.lib.js:103:20)
at main$ (http://localhost:49235/packages/oikos_web_ec/src/widgets/modals/links/delteLink.dart.lib.js:26076:36)
at main$.next (<anonymous>)
at runBody (http://localhost:49235/dart_sdk.js:39250:34)
at Object._async [as async] (http://localhost:49235/dart_sdk.js:39281:7)
at main$ (http://localhost:49235/packages/oikos_web_ec/src/widgets/modals/links/delteLink.dart.lib.js:26074:18)
at main (http://localhost:49235/web_entrypoint.dart.lib.js:39:29)
at main.next (<anonymous>)
at http://localhost:49235/dart_sdk.js:39230:33
at _RootZone.runUnary (http://localhost:49235/dart_sdk.js:39087:58)
at _FutureListener.thenAwait.handleValue (http://localhost:49235/dart_sdk.js:34073:29)
at handleValueCallback (http://localhost:49235/dart_sdk.js:34633:49)
at Function._propagateToListeners (http://localhost:49235/dart_sdk.js:34671:17)
at _Future.new.[_completeWithValue] (http://localhost:49235/dart_sdk.js:34513:23)
at http://localhost:49235/dart_sdk.js:33724:46
at _RootZone.runUnary (http://localhost:49235/dart_sdk.js:39087:58)
at _FutureListener.then.handleValue (http://localhost:49235/dart_sdk.js:34073:29)
at handleValueCallback (http://localhost:49235/dart_sdk.js:34633:49)
at Function._propagateToListeners (http://localhost:49235/dart_sdk.js:34671:17)
at _Future.new.[_completeWithValue] (http://localhost:49235/dart_sdk.js:34513:23)
at async._AsyncCallbackEntry.new.callback (http://localhost:49235/dart_sdk.js:34536:35)
at Object._microtaskLoop (http://localhost:49235/dart_sdk.js:39374:13)
at _startMicrotaskLoop (http://localhost:49235/dart_sdk.js:39380:13)
at http://localhost:49235/dart_sdk.js:34887:9
Это сценарий, который я использую в index.html Файл
<script type="module">
// Import the functions you need from the SDKs you need
import { initializeApp } from "https://www.gstatic.com/firebasejs/8.10.0/firebase-app.js";
// Your web app's Firebase configuration
const firebaseConfig = {
apiKey: "-----....-----",
authDomain: "-----....-----",
projectId: "-----....-----",
storageBucket: "-----....-----",
messagingSenderId: "-----....-----",
appId: "-----....-----"
};
// Initialize Firebase
const app = initializeApp(firebaseConfig);
</script>
Я также правильно все инициализирую в начале приложения с помощью:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
Знает ли кто-нибудь сейчас, как исправить эту ошибку?
Комментарии:
1. Я следовал этому руководству и оно отлично работает для меня.
Ответ №1:
У меня возникла эта проблема, и я решил ее, изменив сценарий в 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-auth.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-storage.js"></script>
<script>
// Import the functions you need from the SDKs you need
// TODO: Add SDKs for Firebase products that you want to use
// https://firebase.google.com/docs/web/setup#available-libraries
// Your web app's Firebase configuration
const firebaseConfig = {
apiKey: "...",
authDomain: "...",
projectId: "...",
storageBucket: "...",
messagingSenderId: "...",
appId: "..."
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
</script>
Ответ №2:
Используйте это:
https://www.gstatic.com/firebasejs/8.6.1/firebase-app.js
на месте
https://www.gstatic.com/firebasejs/8.10.0/firebase-app.js
Подробная информация
Ответ №3:
У меня возникла аналогичная проблема с Firebase 9. Понизьте рейтинг до 8.x и посмотрите, решена ли она.
Ответ №4:
в текущей версии добавьте только этот импорт
import firebase from "firebase/compat/app";
import "firebase/compat/auth";
import "firebase/compat/firestore";
в заголовке файл настроек firebase