05. 使用 cordova plugman 编辑和添加插件

2022-09-22 16:56:23 浏览数 (1)

安装 Plugman

$ npm install -g plugman

你必须在你的 PATH 上有 git,才能直接从远程 git url 安装插件。

添加 Plugin

$ plugman install --platform <ios|android> --project <directory> --plugin <name|url|path> [--plugins_dir <directory>] [--www <directory>] [--variable <name>=<value> [--variable <name>=<value> ...]]

$ plugman install --platform <ios|android> --project <directory> 项目所在目录 --plugin <name|url|path> 此存储库的内容将复制到--plugins_dir [--plugins_dir <directory>] 默认为<project>/cordova/plugins [--www <directory>] 默认为项目的www, used as cordova project application web assets. [--variable <name>=<value> [--variable <name>=<value> ...]]

Parameters:

  • platform <platform>: One of android, ios, blackberry10, wp8, or windows8
  • project <directory>: Path reference to a cordova-generated project of the platform you specify
  • plugin <plugin>: One of a path reference to a local copy of a plugin, or a remote https: or git: URL pointing to a cordova plugin (optionally append #branch:subdir) or a plugin ID from http://plugins.cordova.io
  • variable NAME=VALUE: Some plugins require install-time variables to be defined. These could be things like API keys/tokens or other app-specific variables. Optional parameters:
  • www <directory>: www assets for the plugin will be installed into this directory. Default is to install into the standard www directory for the platform specified
  • plugins_dir <directory>: a copy of the plugin will be stored in this directory. Default is to install into the <project directory>/plugins folder
  • searchpath <directory>: when looking up plugins by ID, look in this directory and each of its subdirectories for the plugin before hitting the registry. Multiple search paths can be used by either specifying the flag multiple times, or by separating paths with a delimiter (: on 'nix, ; on Windows).

例如安装核心插件的示例:

  • cordova-plugin-battery-status plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-battery-status
  • cordova-plugin-camera plugman install --platform <ios|android> --project <directory> --plugin cordova-plugin-camera

Uninstall a plugin 卸载插件

代码语言:javascript复制
$ plugman uninstall --platform <ios|android> --project <directory> --plugin <id> [--www <directory>] [--plugins_dir <directory>]

$ plugman uninstall --platform <ios|android> --project <directory> --plugin <id> [--www <directory>] [--plugins_dir <directory>]

  • platform <platform>: One of android, ios, blackberry10, wp8, or windows8
  • project <directory>: Path reference to a cordova-generated project of the platform you specify
  • plugin <plugin-id>: The plugin to remove, identified by its id (see the plugin.xml's <plugin id> attribute)

Create A Plugin 创建插件

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

Parameters:

  • <pluginName>: The name of the plugin
  • <pluginID>: An ID for the plugin, ex: org.bar.foo
  • <version>: A version for the plugin, ex: 0.0.1
  • <directory>: An absolute or relative path for the directory where the plugin project will be created
  • variable NAME=VALUE: Extra variables such as description or Author

例如我$ plugman create --name MyPluginName --plugin_id cordova-plugin-my --plugin_version 0.0.1

Javascript 接口提供了面向前端的接口,但是你需要调用 cordova.exec 与本地平台通信,使用以下语法:

示例一: 官网示例

代码语言:javascript复制
window.echo = function(str, callback) {
    cordova.exec(callback, function(err) {
        callback('Nothing to echo.');
    }, "Echo", "echo", [str]);
};

示例二: 自定义plugin生成

代码语言:javascript复制
var exec = require('cordova/exec');

exports.coolMethod = function (arg0, success, error) {
    exec(success, error, 'MyPluginName', 'coolMethod', [arg0]);
};

示例三: device.js

代码语言:javascript复制
cordova.define("cordova-plugin-device.device", function(require, exports, module) {
  var exec = require('cordova/exec');
  ...
  module.exports = new Device();

Add a Platform to a Plugin

$ plugman platform add --platform_name <platform> Parameters:

  • <platform>: One of android, ios

必须在 cd platform directory 该级目录后操作

Add a Package.JSON file to plugin

Creates a package.json file in the plugin based on values from plugin.xml. $ plugman createpackagejson <directory>

Building a Plugin 构建插件

想这样 cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git

添加插件,调用定位

cordova plugin add C:UsersHDGaoDeLocation

代码语言:javascript复制
$ plugman -help
plugman manages plugin.xml-compatible cordova plugins into cordova-generated projects.

Usage

To display this help file, use one of the following:

代码语言:javascript复制
$ plugman --help
$ plugman -h

To display the plugman version, use one of the following:

代码语言:javascript复制
 $ plugman --version
 $ plugman -v

Optional flags

--debug|-d : Verbose mode

Install a plugin

代码语言:javascript复制
$ plugman install --platform <platform> --project <directory> --plugin <plugin> [--variable NAME=VALUE]

Parameters:

  • platform <platform>: One of android, ios, blackberry10, wp8, or windows8
  • project <directory>: Path reference to a cordova-generated project of the platform you specify
  • plugin <plugin>: One of a path reference to a local copy of a plugin, or a remote https: or git: URL pointing to a cordova plugin (optionally append #branch:subdir) or a plugin ID from http://plugins.cordova.io
  • variable NAME=VALUE: Some plugins require install-time variables to be defined. These could be things like API keys/tokens or other app-specific variables.

Optional parameters:

  • www <directory>: www assets for the plugin will be installed into this directory. Default is to install into the standard www directory for the platform specified
  • plugins_dir <directory>: a copy of the plugin will be stored in this directory. Default is to install into the <project directory>/plugins folder
  • searchpath <directory>: when looking up plugins by ID, look in this directory and each of its subdirectories for the plugin before hitting the registry. Multiple search paths can be used by either specifying the flag multiple times, or by separating paths with a delimiter (: on 'nix, ; on Windows).

卸载 plugin

$ plugman uninstall --platform <platform> --project <directory> --plugin <plugin-id>

Parameters:

  • platform <platform>: One of android, ios, blackberry10, wp8, or windows8
  • project <directory>: Path reference to a cordova-generated project of the platform you specify
  • plugin <plugin-id>: The plugin to remove, identified by its id (see the plugin.xml's <plugin id> attribute)

Interacting with the registry

NOTICE: The Cordova Plugin registry became read-only, so the following commands have been deprecated and removed:

代码语言:javascript复制
$ plugman adduser
$ plugman publish
$ plugman unpublish
$ plugman owner add/rm

For managing plugins for the npm registry, use corresponding npm commands. For more info on npm commands see npm help <command>. Learn more about publishing your plugins to npm at http://plugins.cordova.io/npm/developers.html

Search for a plugin

代码语言:javascript复制
$ plugman search <keyword1 keyword2 ...>

Display plugin information

代码语言:javascript复制
$ plugman info <pluginID>

Manage registry configuration

Display current configuration settings:

代码语言:javascript复制
$ plugman config ls

Display the current registry URL:

代码语言:javascript复制
$ plugman config get registry

Set registry URL:

代码语言:javascript复制
$ plugman config set registry <url>

Example:

代码语言:javascript复制
$ plugman config set registry http://localhost:5984/registry/_design/app/_rewrite

Manage Owners

Plugin owners are allowed to publish updates to a plugin. To display a list of owners for a plugin, use:

代码语言:javascript复制
$ plugman owner ls <pluginID>

Example:

代码语言:javascript复制
$ plugman owner ls org.apache.cordova.core.file

Create A Plugin

代码语言:javascript复制
$ plugman create --name <pluginName> --plugin_id <pluginID> --plugin_version <version> [--path <directory>] [--variable NAME=VALUE]

Parameters:

  • <pluginName>: The name of the plugin
  • <pluginID>: An ID for the plugin, ex: org.bar.foo
  • <version>: A version for the plugin, ex: 0.0.1
  • <directory>: An absolute or relative path for the directory where the plugin project will be created
  • variable NAME=VALUE: Extra variables such as description or Author

Add a Package.JSON file to plugin

Creates a package.json file in the plugin based on values from plugin.xml.

$ plugman createpackagejson <directory>

Add a Platform to a Plugin

代码语言:javascript复制
$ plugman platform add --platform_name <platform>

Parameters:

  • <platform>: One of android, ios

Remove a Platform from a Plugin

代码语言:javascript复制
$ plugman platform remove --platform_name <platform>

Parameters:

  • <platform>: One of android, ios

0 人点赞