Импорт только аутентификационного пакета из модуля Firebase - PullRequest
0 голосов
/ 04 ноября 2018

Этот SO поток показывает, как следует импортировать различные функции Firebase в ваше веб-приложение.

В моем VueJS SPA я хочу включить только firebase / auth в мое веб-приложение. В соответствии с темой, следующий фрагмент - это все, что требуется.

import * as firebase from 'firebase/app';
import 'firebase/auth';

К сожалению, ответы / комментарии в этой теме не указывают, куда именно должен идти этот импорт, и не объясняют ни одной части фрагмента.

Я попытался добавить приведенный выше код в мой файл main.js (точка входа в мое приложение, а также место инициализации firebase); однако вся база firebase все еще включена в мое приложение после соответствующего изменения моих операторов импорта (как показано ниже).

enter image description here

Мой вопрос: где еще мне нужно включить приведенный выше фрагмент в мое веб-приложение? Нужно ли включать обе строки импорта каждый раз, когда я импортирую firebase в компонент Vue, который использует функции firebase?

Кроме того, я чувствую, что мой вопрос связан с отсутствием понимания того, что на самом деле происходит с импортом. Зачем нам import * as firebase, а потом import 'firebase/auth'?

Эта Средняя публикация также демонстрирует импорт определенных пакетов Firebase и ссылок «встряхивание дерева», но не объясняет многое дальше. Чтение документов по «встряхиванию деревьев» помогло мне понять концепцию, но не то, как она работает по отношению к примеру с firebase.

Обратите внимание, в настоящее время я использую Webpack v3.6.0 в качестве своего упаковщика.

1 Ответ

0 голосов
/ 04 ноября 2018

firebase/app является основным клиентом firebase. Все остальное - дополнительные услуги.

Используя import firebase from "firebase/app", вы получаете основные функциональные возможности, которые предоставляет firebase, это означает, что вам может не потребоваться использовать firebase/auth, firebase/firestore, firebase/functions и использовать только те службы, которые требуются вашему приложению, уменьшая количество код, необходимый для запуска вашего приложения.

Есть несколько способов импортировать базу данных. Однако во всех моих проектах у меня есть отдельный файл firebase, который я импортирую, когда мне требуется использовать какой-либо сервис firebase.

Пример

import firebase from "firebase/app";
import "firebase/auth";
import "firebase/firestore";
import "firebase/functions";
import "firebase/storage";
import "firebase/messaging";
import "firebase/database";

const config = {
  apiKey: "",
  authDomain: "",
  databaseURL: "",
  messagingSenderId: "",
  projectId: "",
  storageBucket: ""
};

if (!firebase.apps.length) {
  firebase.initializeApp(config);
}

const firestore = firebase.firestore();
firestore.settings({ timestampsInSnapshots: true });
firestore.enablePersistence({ experimentalTabSynchronization: true });

export { firebase };

И использовать следующее для импорта

import firebase from "path/to/file

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...