安装 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
$ 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