Более Оптимизированный способ вместо импорта * как firebase из 'firebase' - PullRequest
0 голосов
/ 01 ноября 2019
import { AngularFireAuth } from '@angular/fire/auth';
import { AngularFirestore } from '@angular/fire/firestore';
constructor(
    private afAuth: AngularFireAuth,
    private afs: AngularFirestore,) {

  }

Вариант использования 1:

createdDate: firebase.firestore.FieldValue.serverTimestamp(),

Вариант использования 2:

 const result: firebase.auth.UserCredential = await this.afAuth.auth.signInWithCredential(credential);

Для вышеупомянутых мне нужно импортироватьthis:

import * as firebase from 'firebase';

Поскольку firebase - очень большая библиотека JS, я хотел бы сделать это более оптимизированным способом. Можете ли вы сказать мне, как это сделать?

Примечание: Здесь я использую AngularFire. Но как я могу получить эти модели? firebase.auth.UserCredential

Ответы [ 2 ]

4 голосов
/ 01 ноября 2019

Если вы хотите чистый импорт и оптимизированный импорт, я предлагаю использовать официальную библиотеку для angular с firebase: AngularFire , которая хорошо документирована и актуальна.

И внутри дляинтерфейсы или класс, вы можете использовать, вероятно:

import * as firebase from 'firebase/app';

И все еще продолжать использовать: firebase.auth.UserCredential в вашем коде

1 голос
/ 01 ноября 2019

Я бы посоветовал взглянуть на документы по Angularfire и firebase.

Вы можете импортировать вещи из firebase/app и получить доступ к каждому объекту.

import { Component } from '@angular/core';
import { AngularFireAuth } from '@angular/fire/auth';
import { auth } from 'firebase/app';


 const result: auth.UserCredential = await this.afAuth.auth.signInWithCredential(credential);

https://github.com/angular/angularfire/blob/master/docs/auth/getting-started.md

...