模块没有导出的成员&IonicNativePlugin',Ionic2 for facebook

时间:2017-04-27 08:27:45

标签: facebook ionic2 native

我正试图在离子2应用程序中登录facebook,但在构建我的应用程序时出现此错误。 帮我解决这个问题。

  

[13:17:52]开始了...... [13:17:58]打字稿:   d:/royalworkspace/newfblogin/node_modules/@ionic-native/facebook/index.d.ts,   线:1               模块" D:/ royalworkspace / newfblogin / node_modules / @ ionic-native / core / index"'   没有导出的成员               ' IonicNativePlugin'

   L1:  import { IonicNativePlugin } from '@ionic-native/core';
   L2:  export interface FacebookLoginResponse {

- Home.ts -

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Facebook, FacebookLoginResponse } from '@ionic-native/facebook';
@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  constructor(public navCtrl: NavController, private facebook: Facebook ) {

  }

  Login(){
    this.facebook.login(['email']).then((Response) =>{
      alert('loged in');
      alert(JSON.stringify(Response.authResponse));
    },(error) => {
      alert(error);
    })
  }
 LoginDetails(){
    this.facebook.getLoginStatus().then((response) => {
      if (response.status == "connected") {
      this.facebook.api('/' + response.authResponse.userID + '?fields=id,name,gender', []).then((response) =>{
          alert(JSON.stringify(response));
        }, (error) =>{
          alert(error);
        })
      }
      else{
        alert('not loged in');
      }         
    })
  }
  Logout(){
    this.facebook.logout().then((Response) => {
      alert(JSON.stringify(Response));
    }, (error) =>{
      alert(error);
    })
  }

}

- home.html -

<ion-content padding>
  <button ion-button outline (click)="Login()">Login</button>
 <button ion-button outline (click)="LoginDetails()">Login Details</button>
 <button ion-button outline (click)="Logout()">Logout</button>

</ion-content>

- app.module -

import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { StatusBar } from '@ionic-native/status-bar';
import { Facebook, FacebookLoginResponse } from '@ionic-native/facebook';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';

@NgModule({
  declarations: [
    MyApp,
    HomePage
  ],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp)
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    HomePage
  ],
  providers: [
    StatusBar,
    SplashScreen,Facebook,
    {provide: ErrorHandler, useClass: IonicErrorHandler}
  ]
})
export class AppModule {}

4 个答案:

答案 0 :(得分:34)

IonicNativePlugin被添加到更新版本的ionic-native / core中,因此我必须卸载这个并安装最新版本的3.6.1,现在插件已导出并且一切正常。

拯救你自己。

npm uninstall --save @ionic-native/core
npm install --save @ionic-native/core@latest

答案 1 :(得分:4)

遇到了同样的问题,并通过将@ionic-native/core依赖关系升级到最新版本(此时为3.6.1)来解决问题。

答案 2 :(得分:0)

运行以下内容,之后需要在app.module.ts文件中添加提供程序。

npm install @ionic-native/core --save

答案 3 :(得分:0)

在你的package.json中(在项目根文件夹中),摆脱版本前面的^。因此,如果您有类似“@ ionic-native / core”:“^ 3.4.2”的内容,请将其更改为“@ ionic-native / core”:“3.4.2”。

保存文件,然后运行 npm instal ,然后 ionic serve