# #javascript #firebase #google-cloud-firestore
Вопрос:
Я пытаюсь подключиться к своему firestore с помощью обычного javascript. (Я хочу войти в курс дела и бежать сейчас)
index.js:
import app from './firebase.js'
import { getFirestore } from 'https://www.gstatic.com/firebasejs/9.0.0/firebase-firestore.js'
const db = getFirestore(app)
Однако это приводит к ошибке: Uncaught Error: Service firestore is not available
firebase.js:
import { initializeApp } from "https://www.gstatic.com/firebasejs/9.0.1/firebase-app.js";
const firebaseConfig = {
// configs
};
// Initialize Firebase
let app
export default app = initializeApp(firebaseConfig);
Затем я импортирую скрипт в свой index.html
:
<!DOCTYPE html>
....
<script type="module" src="index.html"></script>
Примечание: Я могу читать и писать в firestore с помощью веб-интерфейса firebase.
Комментарии:
1. Вы не можете импортировать модуль с удаленного URL-адреса, поэтому
import { something } from 'https://...';
он не будет работать и поэтому выдает ошибку.2. Не уверен, что это причина, потому
firebase.js
что загружался нормально.
Ответ №1:
Поэтому, если вы хотите использовать обычный js (без пакетов, таких как webpack), вам нужно будет поместить свой код JS в script
тег следующим образом:
<script type="module">
import { initializeApp } from "https://www.gstatic.com/firebasejs/9.0.1/firebase-app.js";
const firebaseConfig = { ... };
const app = initializeApp(firebaseConfig);
</script>
В противном случае, если вы хотите использовать его так, как намеревались, вам потребуется:
- установите пакет firebase
- пакет модулей (например, webpack) для объединения файлов для вас
Комментарии:
1. Проверьте мой обновленный вопрос, который я уже добавляю
type="module"
2.
<script type="module" src="index.js"></script>
нетsrc="index.html"
, но я думаю, что у вас это уже есть, так как firestore работает нормально?3. Я столкнулся с той же проблемой. Я просто понизил рейтинг для тестирования, и это сработало. В этом файле js: импортируйте { initializeApp } из ‘ gstatic.com/firebasejs/9.0.0/firebase-app.js ‘; импорт { getFirestore, коллекция, getDocs, GetDoc, DocumentSnapshot, запрос, где, ограничение} из ‘ gstatic.com/firebasejs/9.0.0/firebase-firestore.js ‘;
4. Действительно? 9.0.0 решает проблему? У меня нет пропускной способности, чтобы вернуться к нему, так как я перенес свой проект в webpack, спасибо.
Ответ №2:
Используя npm, но получил то же сообщение об ошибке. Перезапустил терминал, удалил и переустановил firebase, затем сработал…не уверен, какой из них это сделал.