代码之家  ›  专栏  ›  技术社区  ›  Code Spy

类型“AppVersionOriginal”不可分配给类型“Provider”。类型“AppVersionOriginal”缺少以下属性

  •  2
  • Code Spy  · 技术社区  · 6 年前

    我使用最新版本的Ionic cliv4.9.0创建了新的Ionic 3应用程序

    $ ionic start Ionic3Project blank --type ionic-angular
    

    然后,我按照本机应用程序版本插件的步骤 here

    导入时遇到以下控制台错误 应用模块ts 文件

    Uncaught Error: Invalid provider for the NgModule 'AppModule' - only instances of Provider and Type are allowed, got: [StatusBar, ?[object Object]?, ...]
    at syntaxError (compiler.js:486)
    at compiler.js:15784
    at Array.forEach (<anonymous>)
    at CompileMetadataResolver._getProvidersMetadata (compiler.js:15752)
    at CompileMetadataResolver.getNgModuleMetadata (compiler.js:15320)
    at JitCompiler._loadModules (compiler.js:34413)
    at JitCompiler._compileModuleAndComponents (compiler.js:34374)
    at JitCompiler.compileModuleAsync (compiler.js:34268)
    at CompilerImpl.compileModuleAsync (platform-browser-dynamic.js:239)
    at PlatformRef.bootstrapModule (core.js:5578)
    

    应用模块ts

        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 { AppVersion } from '@ionic-native/app-version';
    
        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,
            AppVersion, <-- Error [[ts]
                                    Type 'AppVersionOriginal' is not assignable to type 'Provider'.
                                    Type 'AppVersionOriginal' is missing the following properties from type 'FactoryProvider': provide, useFactory [2322]]
            SplashScreen,
            {provide: ErrorHandler, useClass: IonicErrorHandler}
          ]
        })
        export class AppModule {}
    

    更新:我终于找到了这个问题的解决方案和解释 here

    1 回复  |  直到 6 年前
        1
  •  5
  •   Blast06    6 年前

    这个问题是因为爱奥尼亚新的更新(发布爱奥尼亚4)

    import { PluginName} from '@ionic-native/pluginName/ngx';
    

    More info here

        2
  •  0
  •   Aayushi Singh    4 年前

    上面给出的解决方案将非常有效。

    另一种方法是回滚到插件的以前版本。

    推荐文章