2017-04-27 19 views
9

ionic 2アプリでfacebook loginをしようとしていますが、アプリケーションの構築中にこのエラーが発生しました。 これを解決するのに役立ちます。モジュールにはエクスポートされたメンバ 'IonicNativePlugin'がありません。facebook用Ionic2

[午後1時17分52秒] transpileが... [午後1時17分58秒] typescriptです開始: 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 {} 
+0

'package.json'ファイルを表示できますか? – Sampath

+0

あなたもこれを見ることができます:http://stackoverflow.com/a/43171634/1077309 – Sampath

+0

****同じエラーが発生します****モジュール 'D:/ royalworkspace/FacebookLogin-master/node_modules/@ ionic-native/core/index "'には、メンバー' IonicNativePlugin 'がエクスポートされていません。 L1: '@ ionic-native/core'の{IonicNativePlugin}をインポートします。 L2:エクスポートインターフェースFacebookLoginResponse { –

答えて

34

ionic-native/coreの新しいバージョンにIonicNativePluginが追加されていますので、これをアンインストールして最新の3.6.1をインストールして、プラグインをエクスポートしても問題ありません。

これであなた自身を保存します。

npm uninstall --save @ionic-native/core 
npm install --save @ionic-native/[email protected] 
+0

私のために働いてくれてありがとう... –

+0

'getDetails():void {th​​is.fb.getLoginStatus()。then((レスポンス)=> {alert( 'Staus =' + response.status (レスポンス= "接続済み")if(レスポンス== '接続'){this.fb.api( '/' + response.authResponce.userID + '?fields = id、name、gender'、[]) > {alert( 'ログインしていません')}})){} { ******これは私のgetDetails()であり、ユーザーデータは返されません。ステータスは接続されています**** –

+0

問題を詳しく説明できますか?それは修正されていますか? –

4

同じ問題に遭遇してしまって、それが最悪になった王様@ionic-native/coreの依存関係を最新バージョン(この時点では3.6.1)にアップグレードしてください。

0

以下を実行した後、app.module.tsファイルにプロバイダを追加する必要があります。

npm install @ionic-native/core --save 
0

package.json(プロジェクトのルートフォルダ内)で、バージョンの前に^を取り除きます。ですから、 "@ ionic-native/core"のようなものがあれば: "^ 3.4.2"、それを "@ ionic-native/core": "3.4.2"に変更してください。

ファイルを保存して、NPMのINSTALを実行し、イオンはを提供しています。

関連する問題