我正试图在离子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 {}
答案 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 。