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

Posted

技术标签:

【中文标题】模块没有导出成员\'IonicNativePlugin\',Ionic2 for facebook【英文标题】:Module has no exported member 'IonicNativePlugin', Ionic2 for facebook模块没有导出成员'IonicNativePlugin',Ionic2 for facebook 【发布时间】:2017-04-27 08:27:44 【问题描述】:

我正在尝试在 ionic 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 

【问题讨论】:

你能出示你的package.json文件吗? 你也可以看到这个:***.com/a/43171634/1077309 ****得到相同的错误 ****模块 '"D:/royalworkspace/FacebookLogin-master/node_modules/@ionic-native/core/index"' 没有导出成员 'IonicNativePlugin' . L1:从'@ionic-native/core'导入 IonicNativePlugin ; L2:导出接口 FacebookLoginResponse 【参考方案1】:

IonicNativePlugin 是在 ionic-native/core 的较新版本中添加的,所以我不得不卸载这个并安装最新的 3.6.1,现在插件已导出,一切正常。

用这个自救。

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

【讨论】:

getDetails(): void this.fb.getLoginStatus().then((response) =&gt; alert('Staus = ' + response.status) if(response.status == 'connected') this.fb.api('/' + response.authResponce.userID + '?fields=id,name,gender',[]).then((response) =&gt; alert(JSON.stringify(response)); alert('Enter api') ,(error) =&gt; alert(error); ) else alert('not loged in') ) ******这是我的getDetails(),它不返回任何用户数据,状态显示已连接**** 你能详细说明问题吗?修复了吗?【参考方案2】:

确实遇到了同样的问题,并通过将 @ionic-native/core 依赖项升级到最新版本(此时升级到 3.6.1)使其正常工作。

【讨论】:

【参考方案3】:

运行下面的代码,之后你需要在 app.module.ts 文件中添加提供者。

npm install @ionic-native/core --save

【讨论】:

【参考方案4】:

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

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

【讨论】:

以上是关于模块没有导出成员'IonicNativePlugin',Ionic2 for facebook的主要内容,如果未能解决你的问题,请参考以下文章

打字稿模块没有导出的成员 - 反应

Vue / Typescript,得到模块'“*.vue”'没有导出成员

TS2614:模块没有导出成员“NextHandleFunction”

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

模块“redis”没有导出成员“RedisClient”

Vue 3 + TypeScript TS2614:模块 '"*.vue"' 没有导出成员