我的app.module.ts就像这样
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import {RouterModule,Routes} from '@angular/router';
import { AngularFireModule, AuthProviders, AuthMethods } from 'angularfire2';
import { AngularFireAuthModule } from 'angularfire2/auth';
import { AngularFireDatabaseModule } from "angularfire2/database";
import { AppComponent } from './app.component';
import { HomeComponent } from './Components/home/home.component';
import { ListingComponent } from './Components/listing/listing.component';
import { ListingsComponent } from './Components/listings/listings.component';
import { AddListingComponent } from './Components/add-listing/add-listing.component';
import { EditListingComponent } from './Components/edit-listing/edit-listing.component';
import { NavbarComponent } from './Components/navbar/navbar.component';
import { FirebaseService } from "app/Services/firebase.service";
export const firebaseConfig =
{
apiKey: "AIzaSyDiPNutY-Bon3id4Oowqj0mTeFQkKacHeo",
authDomain: "proplisting-6bdac.firebaseapp.com",
databaseURL: "https://proplisting-6bdac.firebaseio.com",
projectId: "proplisting-6bdac",
storageBucket: "proplisting-6bdac.appspot.com",
messagingSenderId: "383202658531"
};
const firebaseAuthConfig={
provider:AuthProviders.Google,
method:AuthMethods.Popup
};
const appRoutes:Routes=[
{path:'', component:HomeComponent},
{path:'listings',component:ListingsComponent},
{path:'add-listing',component:AddListingComponent}
]
@NgModule({
declarations: [
AppComponent,
HomeComponent,
ListingComponent,
ListingsComponent,
AddListingComponent,
EditListingComponent,
NavbarComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
AngularFireDatabaseModule,
AngularFireAuthModule,
AngularFireModule.initializeApp(firebaseConfig, firebaseAuthConfig),
RouterModule.forRoot(appRoutes)
],
providers: [FirebaseService],
bootstrap: [AppComponent]
})
export class AppModule { }
显示错误为
C中的错误:/AngularFirebase/proplisting/src/app/app.module.ts(6,29):模块'“C:/ AngularFirebase / proplisting / node_modules / angularfire2 / index”'没有导出成员'AuthProviders ”。 C:/AngularFirebase/proplisting/src/app/app.module.ts(6,44):模块'“C:/ AngularFirebase / proplisting / node_modules / angularfire2 / index”'没有导出成员'AuthMethods'。 C:/AngularFirebase/proplisting/src/app/app.module.ts(5753):类型'{provider:any;方法:任何; }'不能赋值给'string'类型的参数。
C中的错误:/AngularFirebase/proplisting/src/app/app.module.ts(6,29):模块'“C:/ AngularFirebase / proplisting / node_modules / angularfire2 / index”'没有导出成员'AuthProviders ”。 C:/AngularFirebase/proplisting/src/app/app.module.ts(6,44):模块'“C:/ AngularFirebase / proplisting / node_modules / angularfire2 / index”'没有导出成员'AuthMethods'。 C:/AngularFirebase/proplisting/src/app/app.module.ts(5753):类型'{provider:any;方法:任何; }'不能赋值给'string'类型的参数。 webpack:无法编译。
答案 0 :(得分:0)
问题是您正在尝试导入包angularfire2
中不存在的成员。
可能是因为您没有关注最新文档或最新的angularfire2
版本。
AngularFire 2.4 的新文档可以在here找到here和 AngularFireAuth 。
你的问题"它没有真正的问题,你只是说你有错误,所以我假设你想通过改变你的导入来解决它,以便使用最新的API。
从他们的迁移指南(Link):
删除AngularFire的模块化
在4.0之前,AngularFire2没有利用Firebase SDK的树摇动模块化。 AngularFire服务现在有了 已被删除,库被分解为更小的@NgModules:
- AngularFireModule
- AngularFireDatabaseModule
- AngularFireAuthModule
这可能是导致错误的主要原因。
所以我建议你看看他们的文档,他们真的对迁移过程有一个清晰而好的解释。 我不打算将所有内容从那里复制到此处。