Angular2 Firebase身份验证无效,

时间:2017-06-03 04:45:22

标签: javascript angular angularfire2

我的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:无法编译。

1 个答案:

答案 0 :(得分:0)

问题是您正在尝试导入包angularfire2中不存在的成员。

可能是因为您没有关注最新文档或最新的angularfire2版本。

AngularFire 2.4 的新文档可以在here找到here AngularFireAuth

你的问题"它没有真正的问题,你只是说你有错误,所以我假设你想通过改变你的导入来解决它,以便使用最新的API。

从他们的迁移指南(Link):

  

删除AngularFire的模块化

     

在4.0之前,AngularFire2没有利用Firebase   SDK的树摇动模块化。 AngularFire服务现在有了   已被删除,库被分解为更小的@NgModules:

     
      
  • AngularFireModule
  •   
  • AngularFireDatabaseModule
  •   
  • AngularFireAuthModule
  •   

这可能是导致错误的主要原因。

所以我建议你看看他们的文档,他们真的对迁移过程有一个清晰而好的解释。 我不打算将所有内容从那里复制到此处。