Angular 6アプリにfirebaseサポートを追加しようとしていますが、angularfire2を追加するとき
npm install angularfire2 firebase
Angular 5.を使用する必要があることを示す警告がたくさん表示されます。たとえば、
npm WARN [email protected] requires a peer of @angular/core@^5.0.0 but none is installed. You must install peer dependencies yourself.
Angular 6で今日、angularfire2を使用することは可能ですか?
コンパイル時にこのエラーが発生します:
ERROR in node_modules/angularfire2/angularfire2.d.ts(3,10): error TS2305: Module '"/home/rrr/Projects/ng6test/node_modules/rxjs/Subscription"' has no exported member 'Subscription'.
node_modules/angularfire2/firebase.app.module.d.ts(10,22): error TS2720: Class 'FirebaseApp' incorrectly implements class 'FirebaseApp'. Did you mean to extend 'FirebaseApp' and inherit its members as a subclass?
Property 'automaticDataCollectionEnabled' is missing in type 'FirebaseApp'.
node_modules/rxjs/Subscription.d.ts(1,15): error TS2307: Cannot find module 'rxjs-compat/Subscription'.
Rxjs-compatをインストールしようとしましたが、その後、別の警告が表示されました
ERROR in node_modules/angularfire2/firebase.app.module.d.ts(10,22): error TS2720: Class 'FirebaseApp' incorrectly implements class 'FirebaseApp'. Did you mean to extend 'FirebaseApp' and inherit its members as a subclass?
Property 'automaticDataCollectionEnabled' is missing in type 'FirebaseApp'.
私は試しましたが、Angular 6を任意のバージョンのAngularFire2(最新バージョン:5.0.0-rc.7.2-next)で動作させることはできません。)の次のメジャーバージョンを待つ必要があると思います。 AngularFire 2。
更新:
A 一時解決策は、rxjs-compat
をインストールすることです。npm install --save rxjs-compat
試してください:
npm install firebase angularfire2@next --save
プレリリース版で修正済み:
angularfire2@next
package.json
"dependencies":
{
"@angular/animations": "^6.0.3",
"@angular/cdk": "^6.1.0",
"@angular/common": "^6.0.3",
"@angular/compiler": "^6.0.3",
"@angular/core": "^6.0.3",
"@angular/forms": "^6.0.3",
"@angular/http": "^6.0.3",
"@angular/material": "^6.1.0",
"@angular/platform-browser": "^6.0.3",
"@angular/platform-browser-dynamic": "^6.0.3",
"@angular/router": "^6.0.3",
"@firebase/app": "^0.3.3",
"angularfire2": "^5.0.0-rc.10",
"core-js": "^2.5.6",
"firebase": "^5.0.3",
"hammerjs": "^2.0.8",
"rxjs": "^6.2.0",
"rxjs-compat": "^6.2.0",
"zone.js": "^0.8.26"
}
app.module.ts
import { AngularFireModule } from 'angularfire2';
import { AngularFireDatabaseModule } from 'angularfire2/database';
import { AngularFireAuthModule } from 'angularfire2/auth';
import { environment } from '../environments/environment';
@ngModule
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
BrowserAnimationsModule,
routing,
FormsModule,
HttpClientModule,
AngularFireModule.initializeApp(environment.firebase),
AngularFireDatabaseModule,
AngularFireAuthModule
]
})
環境
firebase: {
apiKey: "apikey",
authDomain: "authDomain",
databaseURL: "https://projectId.firebaseio.com",
projectId: "projectId",
storageBucket: "projectId.appspot.com",
messagingSenderId: "messagingSenderId"
}