模块没有导出成员 'IonicNativePlugin',用于 facebook 的 Ionic2
Module has no exported member 'IonicNativePlugin', Ionic2 for facebook
我正在尝试在 ionic 2 应用程序中进行 facebook 登录,但在构建我的应用程序时出现此错误。
帮我解决这个问题。
[13:17:52] transpile started ... [13:17:58] typescript:
D:/royalworkspace/newfblogin/node_modules/@ionic-native/facebook/index.d.ts,
line: 1
Module '"D:/royalworkspace/newfblogin/node_modules/@ionic-native/core/index"'
has no exported member
'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 {}
是否 运行 遇到了同样的问题,并通过将 @ionic-native/core
依赖项升级到最新版本(此时为 3.6.1
)使其正常工作。
运行 下面和之后你需要在 app.module.ts 文件中添加提供者。
npm install @ionic-native/core --save
在你的package.json(在项目根文件夹中),去掉版本前面的^。所以如果你有像 "@ionic-native/core": "^3.4.2" 这样的东西,把它改成 "@ionic-native/core": "3.4.2".
保存文件,然后 运行 npm instal 然后 ionic serve.
IonicNativePlugin 是在 ionic-native/core 的较新版本中添加的,所以我不得不卸载这个并安装最新的 3.6.1,现在插件已导出,一切正常。
用这个拯救自己。
npm uninstall --save @ionic-native/core
npm install --save @ionic-native/core@latest
我正在尝试在 ionic 2 应用程序中进行 facebook 登录,但在构建我的应用程序时出现此错误。 帮我解决这个问题。
[13:17:52] transpile started ... [13:17:58] typescript: D:/royalworkspace/newfblogin/node_modules/@ionic-native/facebook/index.d.ts, line: 1 Module '"D:/royalworkspace/newfblogin/node_modules/@ionic-native/core/index"' has no exported member '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 {}
是否 运行 遇到了同样的问题,并通过将 @ionic-native/core
依赖项升级到最新版本(此时为 3.6.1
)使其正常工作。
运行 下面和之后你需要在 app.module.ts 文件中添加提供者。
npm install @ionic-native/core --save
在你的package.json(在项目根文件夹中),去掉版本前面的^。所以如果你有像 "@ionic-native/core": "^3.4.2" 这样的东西,把它改成 "@ionic-native/core": "3.4.2".
保存文件,然后 运行 npm instal 然后 ionic serve.
IonicNativePlugin 是在 ionic-native/core 的较新版本中添加的,所以我不得不卸载这个并安装最新的 3.6.1,现在插件已导出,一切正常。
用这个拯救自己。
npm uninstall --save @ionic-native/core
npm install --save @ionic-native/core@latest