Получение ошибки на консоли при сохранении данных в firebase firestore - PullRequest
0 голосов
/ 07 сентября 2018

вот мой код Javascript. это просто копия из документации Firebase

<script src="https://www.gstatic.com/firebasejs/5.4.2/firebase.js"/></script>
<script src="https://www.gstatic.com/firebasejs/5.3.0/firebase-firestore.js"></script>
<script>
  // Initialize Firebase
    var config = {
        apiKey: ".",
        authDomain: ".",
        databaseURL: ".",
        projectId: ".",
        storageBucket: ".",
        messagingSenderId: ".[enter image description here][1]"
    };
  firebase.initializeApp(config);

    // Initialize Cloud Firestore through Firebase

    var db = firebase.firestore();
    function submitCountry(){
    console.log('in funtion');
    db.collection("cities").doc("asdasLA").set({
        name: "Los Angeles",
        state: "CasdasA",
        stasdaate: "CasdasdasA",
        stasaasddaate: "CAasd",
        country: "USA"
    })
    .then(function() {
        console.log("Document successfully written!");
    })
    .catch(function(error) {
        console.error("Error writing document: ", error);
    });
}
</script>

когда я обновляю свою страницу, это показывает необнаруженную ошибку.

{code: "app / duplicate-service", сообщение: "Firebase: служба Firebase" имя 'firestore' уже зарегистрировано (app / duplicate-service). ", name: "firestore", стек: "firestore: Firebase: служба имен Firebase" 'fires ... m / firebasejs / 5.3.0 / firebase-firestore.js: 1: 326255 "} firebase @ index.esm.js: 17591 (анонимный) @ index.esm.js: 41 index.esm.js: 17591

Uncaught Error: Не удается создать экземпляр firebase-firestore - обязательно Сначала загрузите firebase-app.js.

после нажатия кнопки «Сохранить» отображается упоминание об ошибке ниже.

Когда я использую тот же код в простом проекте без JS или Bootstrap, он работает нормально, но тот же код, который я поместил в Мой реальный проект с Bootstrap, показывает ошибки

[Вмешательство] Обнаружена медленная сеть. Смотрите для более подробной информации. При загрузке будет использоваться резервный шрифт:

1 Ответ

0 голосов
/ 07 сентября 2018

Делая

<script src="https://www.gstatic.com/firebasejs/5.4.2/firebase.js"/></script>
<script src="https://www.gstatic.com/firebasejs/5.3.0/firebase-firestore.js"></script>

вы дважды загружаете службу Firebase Firebase, см. Документ: https://firebase.google.com/docs/web/setup

Вы должны либо сделать

<script src="https://www.gstatic.com/firebasejs/5.4.2/firebase.js"></script>

или

<!-- Firebase App is always required and must be first -->
<script src="https://www.gstatic.com/firebasejs/5.4.2/firebase-app.js"></script>

<!-- Add additional services that you want to use -->
<script src="https://www.gstatic.com/firebasejs/5.4.2/firebase-firestore.js"></script>

Также обратите внимание, что в вашем коде у вас смешанные версии (то есть 5.4.2 и 5.3.0). Скорее всего, чего-то, чего следует избегать.


Следуя вашему комментарию, приведенному ниже, для проверки правильности записи в БД измените ваш код следующим образом и просто откройте страницу HTML (метод set() будет запущен автоматически)

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

<script>
  // Initialize Firebase
    var config = {
        apiKey: ".",
        authDomain: ".",
        databaseURL: ".",
        projectId: ".",
        storageBucket: ".",
        messagingSenderId: ".[enter image description here][1]"
    };
    firebase.initializeApp(config);

    // Initialize Cloud Firestore through Firebase

    var db = firebase.firestore();

    db.collection("cities").doc("asdasLA").set({
        name: "Los Angeles",
        state: "CasdasA",
        stasdaate: "CasdasdasA",
        stasaasddaate: "CAasd",
        country: "USA"
    })
    .then(function() {
        console.log("Document successfully written!");
    })
    .catch(function(error) {
        console.error("Error writing document: ", error);
    });
}
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...