使用 Plugman 来管理外挂程式
从 3.0 版本开始,Cordova实现所有设备 Api 作为外挂程式,然后留在预设情况下禁用。 此外,它还支援两种不同的方法来添加和删除外挂程式,根据您的工作流概述中讨论的选择:
如果您使用跨平台的工作流,则使用
cordova
CLI 实用程式添加外挂程式,如所述的命令列介面。 CLI 一次修改所有指定平台的外挂程式。如果你使用的平台为中心的工作流程,您使用一个较低级别的Plugman命令列介面,分别为每个目标平台。
本节详细介绍的 Plugman 实用程式。 消费作为节点模组 Plugman 或修改的原始程式码的详细资讯,请参阅其库中的读我档案.
安装 Plugman
要安装 plugman,您必须在您的机器上安装的节点。 然后您可以运行下面的命令从任意位置在您的环境以全域,安装 plugman,这样就可从任何目录中:
$ npm install -g plugman
您还必须有有 git
上你 PATH
,以便能够直接从远端 git Url 安装的外挂程式。
提示: 如果您在安装与 plugman 后发现 npm
你是仍然不能运行任何 plugman
的命令,请确保您已添加 /npm/
目录到您PATH
.
注: 您可以跳过此步骤,如果你不想污染您的全球性 npm
通过全球范围内安装 Plugman 的命名空间。 如果这种情况,然后当你与外壳工具创建Cordova专案,将有 node_modules
目录里面您的专案包含 Plugman。 由于全球范围内你没有安装,您需要调用 node
的每个 Plugman 命令,例如 node
./node_modules/plugman/main.js -version
。 本指南的其余部分假定您已安装 Plugman 就全球而言,意味著您可以调用它与只是plugman
.
创建一个专案,Cordova
您可以使用 Plugman 之前,您必须创建一个Cordova专案。 你可以用命令列介面或更低的级别的 shell 脚本。 使用 shell 脚本来创建您的专案的说明都位于平台指南页上列出的各项"命令列工具"指南。
添加外挂程式
一旦你已经安装了 Plugman,并已创建一个Cordova专案,您可以开始将外挂程式添加到与平台:
$ plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin <name|url|path> [--plugins_dir <directory>] [--www <directory>] [--variable <name>=<value> [--variable <name>=<value> ...]]
使用最小的参数,此命令将外挂程式安装到Cordova的一个专案。 您必须指定一个为该平台的平台和Cordova的专案位置。 此外必须指定与不同的外挂程式, --plugin
参数形式是:
-
name
: 目录名称外挂程式内容存在的地方。 这必须是现有目录下的--plugins_dir
路径 (见下面的详细资讯) 或一个外挂程式在Cordova注册表中的。 -
url
: URL 以 HTTPs:// 或 git 开始: / / 指向一个有效 git 存储库,是复本,包含plugin.xml
档。 这个资料库的内容将复制到--plugins_dir
. -
path
: 目录包含一个有效的外挂程式,其中包括路径plugin.xml
档。此路径的内容将被覆制到--plugins_dir
.
其他参数:
-
--plugins_dir
预设值为<project>/cordova/plugins
,但可以为每个包含子目录中任何目录获取外挂程式。 -
--www
预设值为专案的www
资料夹的位置,但可以作为Cordova专案应用程式 web 资产使用的任何目录。 -
--variable
允许指定某些变数在安装时,有必要对某些外挂程式需要 API 金钥或其他自订的使用者定义的参数。 请外挂程式规范的详细资讯,参阅。
删除某个外挂程式
若要卸载外挂程式,你只需通过 --uninstall
标记,并提供外挂程式 id。
$ plugman --uninstall --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin <id> [--www <directory>] [--plugins_dir <directory>]
说明命令
Plugman 特色全球说明命令,可以说明你如果你卡住或遇到的问题。它将显示所有可用的 Plugman 命令和它们的语法的清单:
plugman -help
plugman # same as above
注: plugman -help
可能会显示一些额外的与注册表相关的命令。 这些命令用于外挂程式开发人员,不可能进行协力厂商外挂程式登记处。
您还可以将追加 --debug|-d
旗子到任何 Plugman 命令以运行该命令以详细模式,将显示任何内部调试消息,因为他们排放和可说明您跟踪下像缺少档的问题。
# Adding Android battery-status plugin to "myProject":
plugman -d --platform android --project myProject --plugin cordova-plugin-battery-status
最后,您可以使用 --version|-v
标志来查看您使用哪个版本的 Plugman。
plugman -v
注册表操作
那里有很多的 plugman 命令,可以用于与外挂程式注册表进行交互。 请注意这些注册表命令是特定于plugins.cordova.io外挂程式注册表,不可能由协力厂商外挂程式登记处执行。
寻找一个外挂程式
您可以使用 Plugman 来搜索外挂程式注册表外挂程式 id 的匹配给定以空格分隔的关键字清单。
plugman search <plugin keywords>
更改外挂程式注册表
您可以获取或设置当前外挂程式注册表的 URL,使用的 plugman。通常你应该离开这在 HTTP://registry.cordova.io 设置,除非您想要使用协力厂商外挂程式注册表。
plugman config set registry <url-to-registry>
plugman config get registry
获取外挂程式的资讯
您可以获得有关任何特定外挂程式在外挂程式库中存储的资讯:
plugman info <id>
这将联系的外挂程式注册表和提取资讯,如外挂程式的版本编号。
安装核心外挂程式
下面的示例显示如何添加外挂程式,如需要,这样您在您的专案中使用任何Cordova Api 仍然工作后你升级到 3.0 版本。对于每个命令,你需要选择目标平台,并引用该平台的专案目录。
cordova-plugin-battery-status
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-battery-status
cordova-plugin-camera
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-camera
cordova-plugin-console
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-console
cordova-plugin-contacts
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-contacts
cordova-plugin-device
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-device
cordova-plugin-device-motion (accelerometer)
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-device-motion
cordova-plugin-device-orientation (compass)
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-device-orientation
cordova-plugin-dialogs
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-dialogs
cordova-plugin-file
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-file
cordova-plugin-file-transfer
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-file-transfer
cordova-plugin-geolocation
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-geolocation
cordova-plugin-globalization
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-globalization
cordova-plugin-inappbrowser
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-inappbrowser
cordova-plugin-media
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-media
cordova-plugin-media-capture
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-media-capture
cordova-plugin-network-information
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-network-information
cordova-plugin-splashscreen
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-splashscreen
cordova-plugin-vibration
plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin cordova-plugin-vibration