如何将自定义cordova插件导入ionic4项目?

时间:2019-08-02 19:58:13

标签: typescript camera cordova-plugins ionic4

我正在尝试将自己的自定义cordova插件导入ionic4项目。我尝试导入的插件是cordova-plugin-camera-preview,但是我对其进行了一些更改(添加了视频录制功能以及一些功能startRecordingstopRecording)。问题是当我致电ionic serve -l时,我的控制台出现以下错误:

Uncaught Error: Encountered undefined provider! Usually this means you have a circular dependencies. This might be caused by using 'barrel' index.ts files.
    at syntaxError (vendor.js:19514)
    at vendor.js:37540
    at Array.forEach (<anonymous>)
    at CompileMetadataResolver._getProvidersMetadata (vendor.js:37525)
    at CompileMetadataResolver.getNgModuleMetadata (vendor.js:37252)
    at JitCompiler._loadModules (vendor.js:42921)
    at JitCompiler._compileModuleAndComponents (vendor.js:42904)
    at JitCompiler.compileModuleAsync (vendor.js:42866)
    at CompilerImpl.compileModuleAsync (vendor.js:91417)
    at compileNgModuleFactory__PRE_R3__ (vendor.js:77693)
  • 我正尝试在app.module.ts中导入插件,
import { CameraPreview } from '../../my-cordova-plugin-camera-preview/www/CameraPreview.js';


@NgModule({
  declarations: [AppComponent],
  entryComponents: [],
  imports: [BrowserModule, BrowserAnimationsModule, IonicModule.forRoot(), AppRoutingModule],
  providers: [
    StatusBar,
    NavigationBar,
    SplashScreen,
    CameraPreview,
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

并在我的home.page.ts中这样:

import { CameraPreview, CameraPreviewPictureOptions, CameraPreviewOptions, CameraPreviewDimensions } from '../../../my-cordova-plugin-camera-preview/www/CameraPreview.js';

...

export class HomePage {

    constructor(
      private alertController: AlertController,
      private cameraPreview: CameraPreview,
    ) {}

...
  • 我通过ionic cordova plugin add PATH/TO/PLUGIN/my-cordova-plugin-camera-preview添加了该插件,效果似乎不错。

我认为问题与我如何导入插件有关。任何帮助或提示表示赞赏!

0 个答案:

没有答案