我可以在 cordova 项目中安装和使用 Ionic Native 吗?

Can I install and use Ionic Native in a cordova project?

在这个项目中我只使用了 cordova 9 和 angular 7 而没有安装 Ionic。 但我想使用 cordova 插件,我知道 Ionic Native 包装这些插件以便在 angular 中使用观察 是否必须先安装 Ionic?

那样的话,我必须卸载cordova还是可以一起住。

ionic native 适用于离子项目。 启动一个新的 ionic 项目并在其中使用 ionic native 和 cordova 插件。

是的,首先你必须安装 IONIC 然后你可以使用 cordova

https://ionicframework.com/docs/intro

npm install -g ionic cordova

然后制作你的项目

ionic start helloWorld blank --type=ionic-angular

简答

如其网站所述

Ionic Native 是一个 Cordova 插件和集成库,可以轻松地将本机功能添加到任何 Ionic 应用程序、Cordova 项目或 WebView。 Ionic Native 有两个版本:社区版和企业版。

假设您想使用 ionic-native/Camera

// app.module.ts

import { Camera } from '@ionic-native/camera/ngx';

...
@NgModule({
  ...

  providers: [
    ...
    Camera
    ...
  ]
  ...
})
export class AppModule { }

插件声明后,可以像其他任何服务一样导入和注入:

// camera.service.ts
import { Injectable } from '@angular/core';
import { Camera, CameraOptions } from '@ionic-native/camera/ngx';

@Injectable({
  providedIn: 'root'
})
export class PhotoService {
  constructor(private camera: Camera) { }

  takePicture() {
    const options: CameraOptions = {
      quality: 100,
      destinationType: this.camera.DestinationType.DATA_URL,
      encodingType: this.camera.EncodingType.JPEG,
      mediaType: this.camera.MediaType.PICTURE
    }

    this.camera.getPicture(options).then((imageData) => {
      // Do something with the new photo

    }, (err) => {
     // Handle error
     console.log("Camera issue: " + err);
    });
  }
}