«ОШИБКА TypeError: Object (...) не является функцией» с использованием AngularFirestore и firebase - PullRequest
0 голосов
/ 16 мая 2018

Я хочу использовать firebase и angularfire2 в своем приложении, в первую очередь я их установил и для объявлений:

в среде .ts

export const environment = {
    production: false,
    firebase: {
    apiKey: 'sfsdfdsff',
    authDomain: 'sfsdfdf',
    databaseURL: 'https://ng-sfsdfsf.firebaseio.com',
    projectId: 'ng-fitnesssfsdfdsf',
    storageBucket: 'ng-fsdfsdfsfdecff5.appspot.com',
   messagingSenderId: '21331323'
   }
  };

в app.module.ts, импорт:

AngularFireModule.initializeApp(environment.firebase),
AngularFirestoreModule

в компоненте, где хотите получить мои данные:

import { AngularFirestore } from 'angularfire2/firestore';

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

constructor(private trainingService: TrainingService, private 
db:AngularFirestore) { }

У меня ошибка:

ERROR TypeError: Object(...) is not a function
at eval (firestore.js:28)
at ZoneDelegate.invoke (zone.js:388)
at Zone.run (zone.js:138)

В моем package.json:

"angularfire2": "^5.0.0-rc.8.0",
"core-js": "^2.4.1",
"firebase": "^5.0.2",

а я не знаю почему?

спасибо за вашу помощь

Ответы [ 8 ]

0 голосов
/ 12 июля 2018

Я получил ту же ошибку.Как только я обновил rxjs с sudo npm update rxjs.А затем обновил rxjs-compat с sudo npm i rxjs@latest rxjs-compat.После исправления уязвимостей и запуска ng build, затем ng serve.Это исправило мою ошибку.(на macOS)

0 голосов
/ 25 мая 2018

Это было мое решение:

npm uninstall angularfire2
npm install angularfire2@5.0.0-rc.4
npm uninstall firebase
npm install firebase@4.8.0
0 голосов
/ 28 июня 2018
npm install rxjs@6 rxjs-compat@6

Это решило проблему

0 голосов
/ 22 мая 2018

У меня была такая же проблема, но я решил ее.Вы можете следить за моей работой.Это пример для ionic.

Установить rxjs

npm i rxjs@^6.0 rxjs-compat

import rxjs-compact в файл

import { AngularFireDatabase, AngularFireList } from 'angularfire2/database';
import { Observable } from 'rxjs-compat';
import { map } from 'rxjs-compat/operators';

https://stackoverflow.com/a/50447449/6567753

0 голосов
/ 18 мая 2018

Сопровождающий AngularFire, у нас произошел ряд серьезных изменений, поскольку мы приближаемся к 5.0 GA.Чтобы поддерживать Angular 6, в последних выпусках AngularFire требуется rxjs 6. Несмотря на то, что да-да, понижение или закрепление старой версии подойдет для быстрого и грязного исправления, я бы не советовал этого, так как это исключит вас из улучшений библиотек вбудущее.

Я бы рекомендовал обновить rxj6 до версии 6 и включить rxjs-compat, если у вас есть зависимости, которые еще не обновлены:

npm i rxjs@^6.0 rxjs-compat

Сохранитьследите за angularfire changelog для получения важной информации о любых критических изменениях;как только мы нажмем GA, мы будем соблюдать semver.

И для справки вот руководство по миграции RXJS 5 => 6 .

0 голосов
/ 17 мая 2018

Сначала я удалил firebase и angularfire2 с:

  • npm uninstall firebase
  • npm uninstall angularfire2

А затем снова переустановил с помощью:

  • npm install firebase@4.12.1
  • npm install angularfire2@5.0.0-rc.6

Использование ^ в фактически установленных версиях angularfire2@5.0.0-rc.9, поэтому я просто удалил эточасть.

0 голосов
/ 17 мая 2018

Удалить ^ этот перед версией. Так вот так.

{
    ...

    "angularfire2": "5.0.0-rc.6",
    "firebase": "4.12.1",
}
0 голосов
/ 17 мая 2018

У меня такая же ошибка при установке "angularfire2": 5.0.0-rc.9.

Ошибка исчезла при откате на 5.0.0-rc.6.

npm install angularfire2@5.0.0-rc.6
npm install firebase@4.12.1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...