簡體   English   中英

使用AngularFirestore和firebase的“ ERROR TypeError:Object(…)不是函數”

[英]“ERROR TypeError: Object(…) is not a function” using AngularFirestore and firebase

我想在我的應用程序中使用firebase和angularfire2,首先,我安裝了它們,並進行了聲明:

在環境中

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",

我不知道為什么?

謝謝你的幫助

在這里,AngularFire的維護者在邁向5.0 GA的過程中發生了許多重大變化。 為了支持Angular 6,最近發行的AngularFire要求使用rxjs6。雖然可以將其降級或固定到舊版本以進行快速,骯臟的修復,但我不建議這樣做,因為它會使您無法對庫中的庫進行改進。未來。

如果您有尚未升級的依賴項,我建議將rxj6升級到版本6,並包括rxjs-compat

npm i rxjs@^6.0 rxjs-compat

密切關注angularfire更改日志,以獲取有關任何重大更改的重要信息; 一旦我們達到了GA,我們就會遵守semver。

作為參考,這里是RXJS 5 => 6遷移指南

我有同樣的問題,但我解決了。 你可以關注我的工作。 這是離子的一個例子。

安裝rxjs

npm i rxjs@^6.0 rxjs-compat

將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

npm install rxjs@6 rxjs-compat@6

這解決了問題

安裝"angularfire2": 5.0.0-rc.9時出現相同的錯誤"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

刪除^此版本前面的。 像這樣

{
    ...

    "angularfire2": "5.0.0-rc.6",
    "firebase": "4.12.1",
}

這是我的解決方案:

npm uninstall angularfire2
npm install angularfire2@5.0.0-rc.4
npm uninstall firebase
npm install firebase@4.8.0

我遇到了同樣的錯誤。 我用sudo npm update rxjs 然后使用sudo npm i rxjs@latest rxjs-compat更新sudo npm i rxjs@latest rxjs-compat 修復漏洞后,再運行ng build然后ng serve 這解決了我的錯誤。 (在macOS上)

我首先使用以下命令卸載了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,因此我只刪除了該部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM