私はアプリでfirebaseとangularfire2を使いたいと思っています。まず、それらをインストールし、宣言のために:
environment.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",
そして、なぜか分からないのですか?
ご協力いただきありがとうございます
私は同じ問題を抱えていましたが、解決しました。あなたは私の仕事に従うことができます。これはionicの例です。
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';
ここで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移行ガイド です。
npm install rxjs@6 rxjs-compat@6
これで問題が解決しました
"angularfire2": 5.0.0-rc.9
のインストール時に同じエラーが発生します。
5.0.0-rc.6
にロールバックするとエラーは消えます。
npm install [email protected]
npm install [email protected]
これが私の解決策でした:
npm uninstall angularfire2
npm install [email protected]
npm uninstall firebase
npm install [email protected]
バージョンの前にある^
を削除します。このように。
{
...
"angularfire2": "5.0.0-rc.6",
"firebase": "4.12.1",
}
同じエラーが発生しました。 Sudo npm update rxjs
でrxjsを更新するとすぐに。そして、rxjs-compatをSudo npm i rxjs@latest rxjs-compat
で更新しました。脆弱性を修正し、ng build
を実行してからng serve
を実行した後。これでエラーが修正されました。 (macOSの場合)