IONIC 5+电容器:如何从github安装无离子本机的cordova插件?

时间:2019-11-12 23:59:52

标签: cordova ionic-framework ionic4 ionic-native capacitor

我想将GitHub上可用的Cordova插件添加到我的IONIC 5+电容器(角度)项目中。

此外,我不知道如何安装和集成此插件,因为official manual表示, npm install https://github.com/DigitalsunrayMedia/cordova-plugin-stepcounternpm install ionic-native/???????

我的问题就在这里!我该如何使用npm install ionic-native/????????输入?所需的插件不作为Ionic Native插件存在。

只要执行以下命令就足够了:

npm install https://github.com/DigitalsunrayMedia/cordova-plugin-stepcounter.git npx cap sync

没有npm install ionic-native/????

步骤

我还想知道是否可以在Ionic Capacitor中轻松添加和使用它,或者是否必须在文件中进行更改。

如何在Typescript中解决此插件?我是否必须向module.app添加任何内容?

如果按照电容器规定的方式进行,是否足够? import { Plugins } from '@capacitor/core'; const { Stepcounter } = Plugins;

我非常感谢您的任何建议!谢谢你 :) 最好的祝福, 程序员

1 个答案:

答案 0 :(得分:1)

是的,您可以安装插件并在没有ionic-native的情况下使用它,基本上ionic-native只是类型库的包装器。

最简单的方法是实施服务

import { Injectable } from '@angular/core';

declare var stepcounter: any;

@Injectable({
    providedIn: 'root'
})
export class StepCounterService {
    constructor() {}

    start(startingOffset) {
        return new Promise((resolve, reject) => {
            stepcounter.start(
                startingOffset,
                message => {
                    resolve(message);
                },
                () => {
                    reject();
                }
            );
        });
    }

    stop() {
        return new Promise((resolve, reject) => {
            stepcounter.stop(
                message => {
                    resolve(message);
                },
                () => {
                    reject();
                }
            );
        });
    }

    getTodayStepCount() {
        return new Promise((resolve, reject) => {
            stepcounter.getTodayStepCount(
                message => {
                    resolve(message);
                },
                () => {
                    reject();
                }
            );
        });
    }

    getStepCount() {
        return new Promise((resolve, reject) => {
            stepcounter.getStepCount(
                message => {
                    resolve(message);
                },
                () => {
                    reject();
                }
            );
        });
    }

    deviceCanCountSteps() {
        return new Promise((resolve, reject) => {
            stepcounter.deviceCanCountSteps(
                message => {
                    resolve(message);
                },
                () => {
                    reject();
                }
            );
        });
    }

    getHistory() {
        return new Promise((resolve, reject) => {
            stepcounter.getHistory(
                message => {
                    resolve(message);
                },
                () => {
                    reject();
                }
            );
        });
    }
}

现在您将其注入所需的位置,以便可以使用它

PS。我假设您使用的是angular和Typescript,如果您使用的是Vanilla ionic和javascript,则可以安装插件并使用它