【问题标题】:No provider for Facebook (Ionic Native)没有 Facebook 的提供者(Ionic Native)
【发布时间】:2018-03-01 18:31:44
【问题描述】:

错误错误:没有 Facebook 提供程序!
&nbspat injectionError (core.es5.js:1231)
&nbspat noProviderError (core.es5.js:1269)
&nbspat ReflectiveInjector_.throwOrNull (core.es5.js:2770)
&nbspat ReflectiveInjector
.getByKeyDefault (core.es5.js:2809)
&nbspat ReflectiveInjector
.getByKey (core.es5.js:2741)
&nbspat ReflectiveInjector
.get (core.es5.js:2610)
&nbspat AppModuleInjector.NgModuleInjector.get (core.es5.js:3578)
&nbspat resolveDep (core.es5.js:11039)
&nbspat createClass (core.es5.js:10903)
在 createDirectiveInstance (core.es5.js:10723)
View_MyApp_Host_0 @ MyApp_Host.html:1

【问题讨论】:

    标签: angular typescript ionic2 ionic3 ionic-native


    【解决方案1】:

    您需要在您的AppModuleapp.module.ts 文件)中添加Facebook

    // ...
    import { Facebook } from '@ionic-native/facebook';
    
    
    @NgModule({
        declarations: [...],
        imports: [...],
        bootstrap: [IonicApp],
        entryComponents: [...],
        providers: [
            // ...
            Facebook // <--- Here!
            // ...
            { provide: ErrorHandler, useClass: IonicErrorHandler }
        ]
    })
    export class AppModule { }
    

    【讨论】:

    • 我必须写哪个参数 facebook 或 FacebookModule
    • 只有Facebook 应该没问题
    • 但我有 imort facebook sdk 这样的 import { FacebookModule } from 'ngx-facebook';
    • 这不是 Ionic 原生的。如果您想使用 Ionic native,请按照以下步骤操作:ionic docsngx-facebook 只是 facebook sdk 的另一个包装器(在浏览器中使用 angular2 应用程序时,Cordova 不可用)。
    • 未捕获的错误:模块“AppModule”导入的意外值“Facebook”。请添加@NgModule 注释。
    【解决方案2】:

    选择的答案在 Ionic3 之前有效。对于 Ionic 4+: 在无论 module有使用FB登录的组件,添加:

    import { Facebook } from '@ionic-native/facebook/ngx';
    

    [注意 /ngx]

    并为该@NgModule 添加提供者

    providers: [ Facebook, .... ]
    

    【讨论】:

      猜你喜欢
      • 2018-09-22
      • 2017-12-28
      • 2020-05-12
      • 2017-09-07
      • 2018-05-09
      • 1970-01-01
      • 2022-12-17
      • 2016-11-02
      • 1970-01-01
      相关资源
      最近更新 更多