AngularFire2: вы используете сборку разработки Firebase SDK - PullRequest
0 голосов
/ 01 ноября 2018

Так что я использую официальную документацию для установки и установки angularfire2. https://github.com/angular/angularfire2/blob/master/docs/install-and-setup.md

Это работает нормально, мои данные поступают, но при сборке для производства я получаю эту ошибку:

Похоже, вы используете сборку разработки Firebase JS SDK. При развертывании приложений Firebase в рабочей среде рекомендуется импортировать только отдельные компоненты SDK, которые вы собираетесь использовать.

Для сборок CDN они доступны следующим образом (замените на имя компонента - то есть auth, database, и т.д.):

Я попробовал каждое предложение там, но ничего не работает.

Есть идеи? ТНХ,

Корневой модуль

import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';

import { RootComponent } from './rootComponent.component';
import { ROOT_ROUTES } from './root.routes';
import { BrowserModule, Title } from '@angular/platform-browser';
import { AngularFireModule } from '@angular/fire';
import { AngularFirestoreModule } from '@angular/fire/firestore';
import { environment } from '../environments/environment';

@NgModule({
  declarations: [RootComponent],
  imports: [
    AngularFireModule.initializeApp(environment.firebase),
    AngularFirestoreModule,
    NoopAnimationsModule,
    BrowserModule,
    RouterModule.forRoot(ROOT_ROUTES)
  ],
  providers: [Title],
  bootstrap: [RootComponent]
})
export class RootModule {}

Компонент

import { Component, OnInit } from '@angular/core';
import { MatTableDataSource } from '@angular/material';
import { AngularFirestore } from '@angular/fire/firestore';
import { Observable } from 'rxjs';
import { ActivatedRoute } from '@angular/router';
import { Seal } from '../seals.types';
import { StudioService } from '../../../service/studio.service';

@Component({
    selector: 'seals-component',
    templateUrl: './seals.component.html'
})
export class SealsComponent implements OnInit {

    constructor(private db:AngularFirestore, private studioService: StudioService) {
        this.getData();
    }

    items: Observable<any[]>;
    dataSource = new MatTableDataSource<Seal[]>();;
    displayedColumns: string[] = ['description', 'language', 'seal', 'type'];
    pID:string = 'flsjezlijlsfj';

    ngOnInit() {}

    getData() {
        this.items = this.db.collection(`sealsDB/TNDorQMQOzoqY6P6Ej0i/seal/${this.pID}/seal/`).valueChanges();
        this.items.subscribe(seals => {
            this.dataSource.data = seals
        })
    }
}

1 Ответ

0 голосов
/ 27 января 2019

У меня было такое же предупреждение, и мне потребовалось некоторое время, чтобы понять, что я использую интерфейс User из firebase/auth вместе с Timestamp.fromDate() в другом файле.

Итак, я добавил:

import * as firebase from 'firebase/app';
import { User } from 'firebase/auth';

и просто

import * as firebase from 'firebase/app';

где я использовал

firebase.firestore.Timestamp.fromDate()

Это избавило от предупреждения.

...