05. 使用 cordova plugman 編輯和添加插件

安裝 Plugman

$ npm install -g plugman

你必須在你的 PATH 上有 git,才能直接從遠(yuǎn)程 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> 項(xiàng)目所在目錄
--plugin <name|url|path> 此存儲(chǔ)庫(kù)的內(nèi)容將復(fù)制到--plugins_dir
[--plugins_dir <directory>] 默認(rèn)為<project>/cordova/plugins
[--www <directory>] 默認(rèn)為項(xiàng)目的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 卸載插件

$ 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 創(chuàng)建插件

$ 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 接口提供了面向前端的接口,但是你需要調(diào)用 cordova.exec 與本地平臺(tái)通信,使用以下語(yǔ)法:

示例一: 官網(wǎng)示例

window.echo = function(str, callback) {
    cordova.exec(callback, function(err) {
        callback('Nothing to echo.');
    }, "Echo", "echo", [str]);
};

示例二: 自定義plugin生成

var exec = require('cordova/exec');

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

示例三: device.js

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 該級(jí)目錄后操作

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 構(gòu)建插件

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

添加插件,調(diào)用定位

cordova plugin add C:\Users\HD\GaoDeLocation

$ plugman -help
plugman manages plugin.xml-compatible cordova plugins into cordova-generated projects.

Usage

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

$ plugman --help
$ plugman -h

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

 $ plugman --version
 $ plugman -v

Optional flags

--debug|-d : Verbose mode

Install a plugin

$ 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:

$ 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

$ plugman search <keyword1 keyword2 ...>

Display plugin information

$ plugman info <pluginID>

Manage registry configuration

Display current configuration settings:

$ plugman config ls

Display the current registry URL:

$ plugman config get registry

Set registry URL:

$ plugman config set registry <url>

Example:

$ 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:

$ plugman owner ls <pluginID>

Example:

$ plugman owner ls org.apache.cordova.core.file

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

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

$ plugman platform add --platform_name <platform>

Parameters:

  • <platform>: One of android, ios

Remove a Platform from a Plugin

$ plugman platform remove --platform_name <platform>

Parameters:

  • <platform>: One of android, ios
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容