安裝 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ǔ)庫的內(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)通信介牙,使用以下語法:
示例一: 官網(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