Windows下plugman的安装及生成Cordova插件

时间:2024-04-08 10:03:44

Cordova中操作自定义插件上传自定义插件时会用到plugman    本章节讲述plugman的安装以及使用



1.plugman简介

一个命令行工具,用于安装和卸载Apache Cordova项目的插件

官方地址:https://www.npmjs.com/package/plugman#requirements



2.安装plugman(已成功配置好node.js和cordova)

在cmd中输入npm install -g plugman 等待

Windows下plugman的安装及生成Cordova插件

Windows下plugman的安装及生成Cordova插件


有时可能由于网络原因会失败,多尝试几次就好(本人尝试了两次才安装成功)


3.安装成功后就可以使用plugman命令生成Cordova插件模板

cmd中定位到你要生成插件的位置 cmd中输入

plugman create --name <pluginName> --plugin_id <pluginID> --plugin_version <version> [--path <directory>] [--variableNAME=VALUE]


参数:
pluginName: 插件名字

pluginID: 插件id

oversion: 插件版本

directory:一个绝对或相对路径的目录,该目录将创建插件项目

variable NAME=VALUE: 额外的描述,如作者信息和相关描述

 


3.1.先定位到插件存放的地方(本人存在D:\Cordova\CordovaPlugin)

Windows下plugman的安装及生成Cordova插件


3.2.继续在3.1的基础上生成插件模板 

cmd中输入 plugman create --name PluginDemo --plugin_id org.apache.plugindemo --plugin_version 1.0.0

Windows下plugman的安装及生成Cordova插件


此时对应的文件夹下

Windows下plugman的安装及生成Cordova插件



3.3.继续在3.2基础上定位到插件位置 增加platform平台(此处以Android为例)

cmd中输入plugman platform add --platform_name android

Windows下plugman的安装及生成Cordova插件


此时上述的src文件夹下就有东西了

Windows下plugman的安装及生成Cordova插件


3.4.生成package.json文件

此文件plugman默认没有给生成 可以上传插件时要用到 所以要生成

格式 plugman createpackagejson XXXXX(你自己插件所在的位置)

继续在3.2基础上定位到插件位置

cmd中输入 plugman createpackagejson D:\Cordova\CordovaPlugin\PluginDemo 

然后按照提示填写信息

Windows下plugman的安装及生成Cordova插件

Windows下plugman的安装及生成Cordova插件


完成后 文件夹

Windows下plugman的安装及生成Cordova插件



4.两个重要的文件


4.1.plugin.xml 文件


<?xml version='1.0' encoding='utf-8'?>
<plugin id="org.apache.plugindemo" version="1.0.0" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
<name>PluginDemo</name>
<js-module name="PluginDemo" src="www/PluginDemo.js">
<clobbers target="cordova.plugins.PluginDemo" />
</js-module>
<platform name="android">
<config-file parent="/*" target="res/xml/config.xml">
<feature name="PluginDemo">
<param name="android-package" value="org.apache.plugindemo.PluginDemo" />
</feature>
</config-file>
<config-file parent="/*" target="AndroidManifest.xml">
</config-file>
<source-file src="src/android/PluginDemo.java" target-dir="src/org/apache/plugindemo/PluginDemo" />
</platform>
</plugin>



这里有几个定义,最好理解一下:

1.clobbers : 非常重要。前端工程师在使用的时候通过这个 clobbers 去调用www/PluginDemo.js的公开方法

2.feature 标签定义了 (服务名)name

3.param name="android-package" value="org.apache.plugindemo.PluginDemo" 

定义Android平台下的底层实现的 包名.类 :org.apache.plugindemo.PluginDemo



4.2.package.json文件


{
  "name": "PluginDemo",
  "version": "1.0.0",
  "description": "This is a plugin",
  "cordova": {
    "id": "org.apache.plugindemo",
    "platforms": [
      "android"
    ]
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/wujianning/NumPlugin.git"
  },
  "keywords": [
    "ecosystem:cordova",
    "cordova-android"
  ],
  "author": "wjn",
  "license": "Apache 2.0",
  "bugs": {
    "url": "https://github.com/wujianning/NumPlugin/issues"
  },
  "homepage": "https://github.com/wujianning/NumPlugin#readme"
}