Использование Plugman для управления расширениями
Начиная с версии 3.0 Cordova реализует все API устройства как плагины и оставляет их по умолчанию отключенными. Она также поддерживает два различных способа добавления и удаления плагинов, в зависимости от вашего выбора рабочего процесса, как описано в разделе "Введение":
Если вы используете кросс платформенный рабочий процесс, используйте утилиту CLI
cordova
для добавления плагинов, как описано в разделе "Интерфейс командной строки". CLI изменяет плагины для всех платформ одновременно.Если вы используете платформо-ориентированный процесс разработки, вы используете низкоуровневый инструмент командной строки Plugman, индивидуально для каждой целевой платформы.
В этом разделе описывается утилита Plugman. Для более детальной информации об использовании Plugman как node модуля или изменения исходного кода см. README файл в его репозитории.
Установка Plugman
Чтобы установить plugman, вам потребуется установить node.js на свою машину. Затем можно запустить следующую команду в вашем окружении, чтобы установить plugman глобально, так чтобы он был доступен из любого каталога:
$ npm install -g plugman
Вы также должны иметь git
добавленный в переменную окружения PATH
, для того чтобы иметь возможность устанавливать плагины непосредственно из удаленных репозитариев Git.
Подсказка: Если вы обнаружили что после установки 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. Вы можете сделать это либо с использование Интерфейса командной строки или с использованием низкоуровневых утилит командной строки. Инструкции по использованию утилит командной строки для создания вашего проекта, расположены в различных разделах "Инструменты командной строки" указанных на странице "Руководство по поддерживаемым платформам".
Добавление плагина
После того как вы установили 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. Вы должны указать платформу и расположение проекта Cordоva для этой платформы. Также вы должны указать добавляемый плагин, с использованием различных форм параметра --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 как каталог содержащий веб ресурсы приложения. -
--variable
позволяет указывать определенные переменные во время установки, для некоторых плагинов необходимо указывать ключи API или другие настраиваемые параметры. Обратитесь к спецификации плагинов для получения дополнительной информации.
Удаление плагина
Для удаления плагина, вы должны просто указать флаг --uninstall
и указать код плагина (ID плагина).
$ plugman --uninstall --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin <id> [--www <directory>] [--plugins_dir <directory>]
Команды справки
Plugman поддерживает общую команду help которая может помочь вам если вы в тупике или испытываете проблемы. Она отобразит список доступных команд 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 для поиска в Реестре плагинов плагинов, которые соответствуют указанному списку ключевых слов, разделенных между собой запятыми.
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