Я хочу использовать Firebase-Database и Firebase-Storage с Require.js.
Моя файловая структура настроена так:
../
js/
app.js
lib/
require.js
app/
main.js
firebase_refs.js
Мой файл конфигурации app.js:
requirejs.config({
"baseUrl": "js/lib",
"paths": {
"app": "../app",
"firebase_refs": "../app/firebase_refs",
"jquery": "//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min",
"firebase": "//www.gstatic.com/firebasejs/5.5.6/firebase-app",
"firebase-auth": "//www.gstatic.com/firebasejs/5.5.6/firebase-auth",
"firebase-database": "//www.gstatic.com/firebasejs/5.5.6/firebase-database",
"firebase-storage": "//www.gstatic.com/firebasejs/5.5.6/firebase-storage",
},
"shim": {
"firebase": {
exports: "firebase"
},
"firebase-database": {
exports: "firebase-database"
},
"firebase-storage": {
exports: "firebase-storage"
}
}
});
requirejs(["app/main"]);
Мой файл main.js (который я использую для инициализации Firebase):
define(['firebase'], function (firebase) {
var FirebaseAppInit = {
setupFirebase: function(){
var config = {
apiKey: "xxx",
authDomain: "xxx",
databaseURL: "xxx",
storageBucket: "xxx",
};
firebase.initializeApp(config);
}
};
return FirebaseAppInit;
});
Мой файл firebase_refs.js (который я использую для объявления корневой ссылки базы данных firebase и ссылки на хранилище):
requirejs(["app/main"]);
define(['firebase-database', 'firebase-storage'], function(FirebaseDatabase, FirebaseStorage){
var Refs = {
rootRef: function(){
return FirebaseDatabase.database().ref();
},
storage: function(){
return FirebaseStorage.storage();
}
};
return Refs;
});
И, наконец, теперь в моем файле index.html:
<script>
var test_header = document.getElementById("test_header");
require(['app/main'], function(firebase){
firebase.setupFirebase();
require(['app/firebase_refs'], function(FirebaseRefs){
var dbRef = FirebaseRefs.rootRef().child('some kind of text');
dbRef.on('value', snap => test_header.innerText = snap.val());
});
});
</script>
У меня проблема
Я получаю ошибку:
Error: Script error for "@firebase/app", needed by: firebase-database, firebase-storage
https://requirejs.org/docs/errors.html#scripterror
Я понимаю, что есть проблема с порядком, в котором я загружаю базу данных firebase и хранилище firebase, но я не вижу, где. Есть предложения?