使用Plugman创建离子插件

时间:2018-11-02 06:35:27

标签: cordova ionic-framework plugman

我是Ionic和Cordova的新手。我需要使用Cordova为ionic创建一个插件,并将其集成到示例ionic应用程序中。

我遵循的步骤是:

使用Plugman创建了一个简单的离子插件

plugman create --name SayHello --plugin_id cordova-plugin-sayhello -plugin_version 0.0.1

在上述插件中添加了android平台。

cd SayHello/ && plugman platform add --platform_name android

现在我想将此插件集成到我的离子应用程序中。

ionic cordova plugin add ../SayHello

在Home.ts内的离子应用程序中,我编写了这段代码。

declare var cordova: any;
var success = function(result) {
  console.log(result);
}
var failure = function(err) {
  console.log(err);
}
cordova.plugins.HelloWorld.coolMethod("SayHelloTest", success, failure);

问题是我无法在离子应用程序中成功或失败地调用任何函数。

就像我成功调用函数doSomething一样:

var success = function(result) {
   doSomething(result);
}

显示错误doSomething函数未找到。它只能在控制台中打印。

3 个答案:

答案 0 :(得分:1)

您需要创建成功作为类函数,然后将其作为绑定函数发送或在箭头内调用。

declare var cordova:any;

class HomePage{
    //constructor etc...
    doSomething(res:any){
    }

    success(result){
        this.doSomething(result);
    }
    failure(err){}
    //..
    //call
    callCordovaFunction(){
        cordova.plugins.HelloWorld.coolMethod("SayHelloTest", this.success.bind(this), this.failure.bind(this));
    //or
        cordova.plugins.HelloWorld.coolMethod("SayHelloTest", (res)=>this.success(res),(err)=>this.failure(err));    
    }
}

答案 1 :(得分:0)

创建插件之后,理论上也可以使用Plugman导入它,以执行您要尝试执行的操作。我读过的命令是: plugman install --platform android --project projectPlatformPath --plugin pluginPath

无论如何,当我尝试此操作时,对我不起作用,这也使您的插件难以使用。最好使用gulp为您的插件创建一个离子包装器,然后将其复制到项目的node_modules/@ionic-native中。这样,您就可以像刚刚用ionic cordova plugin add cordova-plugin-name-here添加的其他插件一样注入它。这也是Ionic推荐的方法。

在这里写详细的说明很长。只需访问this tutorial 并按照分步说明进行操作即可。

答案 2 :(得分:0)

要安装插件程序,您必须在您的机器上安装 node。然后你可以在你的环境中的任何地方运行以下命令来全局安装plugman,以便它可以从任何目录使用:

$ npm install -g plugman

安装 Plugman 并创建 Cordova 项目后,您可以开始向平台添加插件:

$ plugman create --name SayHello --plugin_id cordova-plugin-sayhello -plugin_version 0.0.1