Я использую TypeScript для реализации приложения Firebase, и существует четыре способа инициализации приложения Firebase в соответствии с документацией Firebase .
Я успешно использую объект FirebaseConfig, но использую«Зарезервированные URL-адреса хостинга» Мне кажется, что я не могу уйти от этого сообщения: Firebase: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp() (app/no-app).
Я делаю следующее:
import * as firebase from 'firebase/app';
import "firebase/database";
... (inside of Component)
ngOnInit() {
var testRef = firebase.database().ref('test');
testRef.on('value', function (snapshot) {
console.log('test', snapshot.val());
});
}
Я предполагаю, что база огня.database (), вероятно, вызывается до кода firebase.initializeApp (), но я вижу, что <script src="/__/firebase/init.js"></script>
был успешно загружен без ошибки, которая содержит следующее:
if (typeof firebase === 'undefined') throw new Error('hosting/init-error: Firebase SDK not detected. You must include it before /__/firebase/init.js');
firebase.initializeApp({
"projectId": "....",
"appId": "....",
"databaseURL": "....",
"storageBucket": "....",
"apiKey": "....",
"authDomain": "....",
"messagingSenderId": "...."
});
Я разместил<script src="/__/firebase/init.js"></script>
в соответствующем месте, в теге body, как указано в документации. Есть ли что-то еще, что мне нужно сделать дополнительно, чтобы это работало с TypeScript, и чтобы я мог использовать firebase.database () в любом месте внутри Компонента?