Справочник по командной строке Cordova (CLI)
Синтаксис
cordova <command> [options] -- [platformOpts]
Список глобальных команд
Эти команды доступны всегда.
| Команда | Описание |
|---|---|
| create | Создать проект |
| help | Получить помощь по команде |
| telemetry | Включить или выключить сбор телеметрии |
| config | Установить, получить, удалить, изменить и перечислить глобальные параметры cordova |
Список команд для проекта
Эти команды поддерживаются, когда текущий рабочий каталог является корректным проектом Cordova.
| Команда | Описание |
|---|---|
| info | Сгенерировать информацию о проекте |
| requirements | Проверяет и выводит все требования к установке для указанных платформ |
| platform | Управление платформами проекта |
| plugin | Управление плагинами проекта |
| prepare | Копирование файлов на платформы для сборки |
| compile | Сборка платформ |
| clean | Очистка проекта от артефактов сборки |
| run | Запуск проекта (включая prepare и compile) |
| serve | Запуск проекта с локальным веб-сервером (включая prepare) |
Общие параметры
Эти параметры применяются ко всем командам cordova-cli.
| Параметр | Описание |
|---|---|
| -d или --verbose | Вывод более подробной информации в консоль. Вы также можете подписаться на события log и warn, если используете cordova-cli в качестве модуля Node.js, вызвав cordova.on('log', function() {}) или cordova.on('warn', function() {}). |
| -v или --version | Выводит версию установленного cordova-cli. |
| --no-update-notifier | Отключить проверку обновлений. В качестве альтернативы установите "optOut": true в ~/.config/configstore/update-notifier-cordova.json или задайте переменную окружения NO_UPDATE_NOTIFIER с любым значением (см. подробности в документации update-notifier). |
| --nohooks | Отменить выполнение хуков (принимая шаблоны хуков RegExp в качестве параметров) |
| --no-telemetry | Отключить сбор телеметрии для текущей команды. |
Параметры, специфичные для платформы
У определенных команд есть параметры (platformOpts), специфичные для конкретной платформы. Они могут быть переданы в cordova-cli с разделителем '--', который останавливает разбор команды внутри модуля cordova-lib и передает оставшиеся параметры для обработки платформами.
Примеры
-
В этом примере показано, как cordova-cli можно использовать для создания проекта с плагином
cameraи запуском его на платформеandroid. В частности, можно использовать параметры, специфичные для платформы, такие как--keystore.# Create a cordova project cordova create myApp com.myCompany.myApp myApp cd myApp # Add camera plugin to the project and remember that in config.xml & package.json. cordova plugin add cordova-plugin-camera # Add camera plugin to the project and remember that in config.xml and package.json. cordova plugin add cordova-plugin-camera # Add android platform to the project and remember that in config.xml & package.json. cordova platform add android # Check to see if your system is configured for building android platform. cordova requirements android # Build the android and emit verbose logs. cordova build android --verbose # Run the project on the android platform. cordova run android # Build for android platform in release mode with specified signing parameters. cordova build android --release -- --keystore="..\android.keystore" --storePassword=android --alias=mykey
Команда cordova create
Краткое описание
Создаёт структуру каталогов для проекта Cordova в указанном пути.
Синтаксис
cordova create path [id [name [config]]] [options]
| Значение | Описание |
|---|---|
| path | Директория, которая ещё не существует. Cordova создаст эту директорию. Более подробную информацию о структуре директорий см. ниже. |
| id |
По умолчанию: io.cordova.hellocordova Идентификатор в стиле обратного домена, который сопоставляется с атрибутом id элемента widget в config.xml. Его можно изменить, но может быть сгенерирован код, использующий это значение, например, имена пакетов Java. Рекомендуется выбрать подходящее значение. |
| name |
По умолчанию: HelloCordova Заголовок приложения для отображения, который сопоставляется с элементом name в файле config.xml. Его можно изменить, но может быть сгенерирован код, использующий это значение, например, имена классов Java. Значение по умолчанию — HelloCordova, но рекомендуется выбрать подходящее значение. |
| config | Строка JSON, чьи ключ/значения будут включены в <path>/.cordova/config.json |
Параметры
| Параметр | Описание |
|---|---|
| --template | Использовать пользовательский шаблон, расположенный локально, в NPM или GitHub. |
| --copy-from\ | --src |
| --link-to | Создать символическую ссылку на указанную www директорию без создания копии. |
Структура каталогов
Cordova CLI работает со следующей структурой каталогов:
myapp/ |-- config.xml |-- hooks/ |-- merges/ | | |-- android/ | | |-- windows/ | | |-- ios/ |-- www/ |-- platforms/ | |-- android/ | |-- windows/ | |-- ios/ |-- plugins/ |--cordova-plugin-camera/
config.xml
Настраивает ваше приложение и позволяет настроить поведение вашего проекта. См. также документацию по config.xml
www/
Содержит веб-артефакты проекта, такие как файлы .html, .css и .js. Как разработчик Cordova, большая часть вашего кода и ресурсов будет здесь. Они будут скопированы при каждой cordova prepare в директорию www каждой платформы. Исходный каталог www воспроизведён внутри каждого подкаталога платформы, например, в platforms/ios/www или platforms/android/assets/www. Поскольку CLI постоянно копирует файлы из исходной папки www, вам следует редактировать только эти файлы, а не файлы, расположенные в подкаталогах платформ. Если вы используете систему контроля версий, вы должны добавить этот исходный каталог www, а также каталог merges, в систему контроля версий.
platforms/
Содержит весь исходный код и скрипты сборки для платформ, которые вы добавляете в свой проект.
ПРЕДУПРЕЖДЕНИЕ: При использовании CLI для сборки приложения, не следует изменять файлы в каталоге /platforms/, если вы не знаете, что делаете, или если документация не указывает иного. Файлы в этом каталоге регулярно перезаписываются при подготовке приложений к сборке или при повторной установке плагинов.
plugins/
Все добавленные плагины будут извлечены или скопированы в этот каталог.
hooks/
Этот каталог может содержать скрипты, используемые для настройки команд cordova-cli. Любые скрипты, которые вы добавите в эти каталоги, будут выполнены до и после команд, соответствующих имени каталога. Полезно для интеграции собственных систем сборки или интеграции с системами контроля версий.
Для получения дополнительной информации обратитесь к Руководству по хукам.
merges/
Платформо-специфические веб-ресурсы (файлы HTML, CSS и JavaScript) содержатся в соответствующих подкаталогах в этом каталоге. Они развертываются во время prepare в соответствующий каталог нативной платформы. Файлы, размещённые в merges/, перекроют соответствующие файлы в каталоге www/ для соответствующей платформы. Пример, предполагая структуру проекта:
merges/ |-- ios/ | -- app.js |-- android/ | -- android.js www/ -- app.js
После сборки Android и iOS проектов, Android приложение будет содержать как app.js, так и android.js. Однако iOS приложение будет содержать только app.js, и это будет тот, что из merges/ios/app.js, перекрывая "общий" app.js, расположенный внутри www/.
Система контроля версий
Не рекомендуется включать каталоги platforms/ и plugins/ в систему контроля версий, так как они считаются артефактами сборки. Ваши платформы и плагины будут сохранены в config.xml и package.json автоматически. Эти платформы/плагины будут загружены при вызове cordova prepare.
Примеры
-
Создайте проект Cordova в директории
myappс указанным идентификатором и именем для отображения:cordova create myapp com.mycompany.myteam.myapp MyApp
-
Создайте проект Cordova с символической ссылкой на существующую
wwwдиректорию. Это может быть полезно, если у вас есть собственный процесс сборки или существующие веб-ресурсы, которые вы хотите использовать в приложении Cordova:cordova create myapp --link-to=../www
Команда cordova platform
Краткое описание
Управление платформами Cordova — добавление, удаление, обновление, просмотр и проверка обновлений. Выполнение команд по добавлению или удалению платформ влияет на содержимое каталога platforms проекта.
Синтаксис
cordova {platform | platforms} [
add <platform-spec> [...] {--save | link=<path> } |
{remove | rm} platform [...] {--save}|
{list | ls} |
check |
save |
update ]
| Подкоманда | Опция | Описание |
|---|---|---|
add <platform-spec> [...] | Добавить указанные платформы | |
| --nosave | Не сохранять <platform-spec> в config.xml и package.json после их установки с помощью тега <engine> | |
--link=<path>
| Если <platform-spec> — это локальный путь, создать символическую ссылку на библиотеку платформы вместо копирования (поддержка зависит от платформы; полезно для разработки платформы) | |
remove <platform> [...] | Удалить указанные платформы | |
| --nosave | Не удалять указанные платформы из config.xml и package.json после их удаления | |
update platform [...] | Обновить указанные платформы | |
| --save | Обновляет версию, указанную в config.xml | |
| list | Вывести список всех установленных и доступных платформ | |
| check | Вывести список платформ, которые можно обновить с помощью cordova-cli командой platform update | |
| save | Сохранить <platform-spec> всех добавленных платформ в config.xml |
Спецификация платформы
Существует несколько способов указать платформу:
<platform-spec> : platform[@version] | path | url[#commit-ish]
| Значение | Описание |
|---|---|
| platform | Имя платформы, например, android, ios, windows и т.д., для добавления в проект. Каждая версия cordova CLI фиксирует версию для каждой платформы. Если версия не указана, используется эта версия для добавления платформы. |
| version | Спецификация версии Major.minor.patch, используя semver |
| path | Путь к каталогу или tar-архиву, содержащему платформу |
| url | URL до git-репозитория или tar-архива, содержащего платформу |
| commit-ish | Ссылка на коммит/тег/ветку. Если не указано, используется 'master' |
Поддерживаемые платформы
- Android
- iOS
- Windows (8.1, Phone 8.1, UWP — Windows 10)
- Blackberry10
- Ubuntu
- Browser
Устаревшие платформы
- Amazon-fireos (используйте платформу Android вместо этого)
- WP8 (используйте платформу Windows вместо этого)
- Windows 8.0 (используйте более старые версии cordova)
- Firefox OS (используйте более старые версии cordova)
Примеры
-
Добавьте закреплённую версию платформы
androidиiosи сохраните загруженную версию вconfig.xmlиpackage.json:cordova platform add android ios
-
Добавьте платформу
androidс версией semver ^5.0.0 и сохраните её вconfig.xmlиpackage.json:cordova platform add android@^5.0.0
-
Добавьте платформу, клонировав указанный git репозиторий и переключив ветку на тэг
4.0.0:cordova platform add https://github.com/myfork/cordova-android.git#4.0.0
-
Добавьте платформу, используя локальную директорию с именем
android:cordova platform add ../android
-
Добавьте платформу, используя указанный tarball:
cordova platform add ../cordova-android.tgz
-
Удалите платформу
androidиз проекта и удалите её изconfig.xmlиpackage.json:cordova platform rm android
-
Удалите платформу
androidиз проекта, но не удаляйте её изconfig.xmlиpackage.json:cordova platform rm android --nosave
-
Отобразить доступные и установленные платформы с номерами версий. Это полезно для поиска номеров версий при сообщении об ошибках:
cordova platform ls
-
Сохраните версии всех платформ, в настоящее время добавленных в проект, в
config.xmlиpackage.jsoncordova platform save
команда cordova plugin
Краткое описание
Управление плагинами проекта
Синтаксис
cordova {plugin | plugins} [
add <plugin-spec> [..] {--searchpath=<directory> | --noregistry | --link | --save | --browserify | --force} |
{remove | rm} {<pluginid> | <name>} --save |
{list | ls} |
search [<keyword>] |
save |
]
| Подкоманда | Опция | Описание |
|---|---|---|
add <plugin-spec> [...] | Добавить указанные плагины | |
--searchpath <directory>
| При поиске плагинов по идентификатору, искать в этом каталоге и каждом из его подкаталогов прежде, чем обратиться к реестру. Можно указать несколько путей поиска. Используйте ':' в качестве разделителя в системах на базе *nix, и ';' для Windows. | |
| --noregistry | Не искать плагины в реестре. | |
| --link | При установке из локального пути, создаёт символическую ссылку вместо копирования файлов. Степень связи файлов варьируется в зависимости от платформы. Полезно для разработки плагинов. | |
| --nosave | НЕ сохранять плагин как часть элемента <plugin-spec> в plugin или config.xml или package.json. | |
| --browserify | Компилировать плагин JS во время сборки с использованием browserify вместо выполнения. | |
| --force | Введено в версии 6.1. Принудительно копирует исходные файлы плагина, даже если такой же файл уже существует в целевой директории. | |
| remove ` | ||
| --nosave | Не удалять указанный плагин из config.xml или package.json | |
| list | Отобразить список установленных плагинов | |
search [<keyword>] [...] | Искать плагины на http://plugins.cordova.io, соответствующие ключевым словам | |
| save | Сохранить <plugin-spec> всех плагинов, в данный момент добавленных в проект |
Описание плагина
Существует несколько способов указать плагин:
<plugin-spec> : [@scope/]pluginID[@version]|directory|url[#commit-ish][:subdir]
| Значение | Описание |
|---|---|
| scope | Область действия плагина, опубликованного как scoped npm пакет |
| plugin | Идентификатор плагина (идентификатор плагина в npm реестре или в --searchPath) |
| version | Спецификатор версии Major.minor.patch с использованием semver |
| directory | Директория, содержащая plugin.xml |
| url | URL к git репозиторию, содержащему plugin.xml |
| commit-ish | Ссылка на коммит/тэг/ветку. Если не указано, используется 'master' |
Алгоритм разрешения плагинов
При добавлении плагина в проект, CLI разрешит плагин, основываясь на следующих критериях (в порядке убывания приоритета):
- Указанный
plugin-specв команде (например,cordova plugin add pluginID@version) - Сохранённая
plugin-specвconfig.xmlиpackage.json(т.е. если плагин был ранее добавлен без--nosave) - Начиная с версии Cordova 6.1, последняя опубликованная версия плагина в npm, которую может поддерживать текущий проект (применимо только к плагинам, которые перечисляют свои зависимости Cordova в своём
package.json) - Последняя опубликованная версия плагина в npm
Примеры
-
Добавьте
cordova-plugin-cameraиcordova-plugin-fileв проект и сохраните его вconfig.xmlиpackage.json. Используйте директорию../pluginsдля поиска плагинов.cordova plugin add cordova-plugin-camera cordova-plugin-file --save --searchpath ../plugins
-
Добавьте
cordova-plugin-cameraс версией semver ^2.0.0 и сохраните её вconfig.xmlиpackage.json:cordova plugin add cordova-plugin-camera@^2.0.0
-
Добавьте плагин из указанной локальной директории:
cordova plugin add ../cordova-plugin-camera
-
Добавьте плагин из указанного файла tarball:
cordova plugin add ../cordova-plugin-camera.tgz
-
Удалите плагин из проекта и
config.xmlиpackage.json:cordova plugin rm camera
-
Удалите плагин из проекта, но не удаляйте его из
config.xmlилиpackage.json:cordova plugin rm camera --nosave
-
Отобразить все установленные в проекте плагины:
cordova plugin ls
Конфликтующие плагины
Конфликтующие плагины могут возникнуть при добавлении плагинов, которые используют теги edit-config в файле plugin.xml. edit-config позволяет плагинам добавлять или заменять атрибуты XML элементов.
Эта функция может вызвать проблемы с приложением, если более одного плагина пытается изменить один и тот же XML элемент. Введена проверка на конфликты, чтобы предотвратить добавление плагинов, если один плагин пытается перезаписать изменения другого плагина в edit-config. При обнаружении конфликта в edit-config будет выброшено исключение, и плагин не будет добавлен. В сообщении об ошибке будет указано, что все конфликты необходимо разрешить, прежде чем плагин можно будет добавить. Одним из способов разрешения конфликта edit-config является внесение изменений в plugin.xml соответствующих плагинов, чтобы они не изменяли один и тот же XML элемент. Другой вариант - использовать флаг --force для принудительного добавления плагина. Этот вариант следует использовать с осторожностью, поскольку он игнорирует проверку на конфликты и перезапишет все конфликты с другими плагинами, тем самым может оставить другие плагины в плохом состоянии.
Обратитесь к руководству plugin.xml для управления edit-config, разрешения конфликтов и примеров.
команда cordova prepare
Краткое описание
Преобразует метаданные config.xml в платформенно-специфичные файлы манифеста, копирует значки и splash экраны, копирует файлы плагинов для указанных платформ, чтобы проект был готов к сборке с каждой нативной SDK.
Синтаксис
cordova prepare [<platform> [..]]
[--browserify]
Опции
| Опция | Описание |
|---|---|
<platform> [..] | Имя(а) платформы(платформ) для подготовки. Если не указано, все платформы будут подготовлены. |
| --browserify | Компилировать плагин JS во время сборки с использованием browserify вместо выполнения. |
команда cordova compile
Краткое описание
cordova compile - это подмножество команды cordova build. Она выполняет только этап компиляции без подготовки. Обычно вызывается cordova build вместо этой команды - однако, эта стадия полезна для расширения с помощью плагинов.
Синтаксис
cordova build [<platform> [...]]
[--debug|--release]
[--device|--emulator|--target=<targetName>]
[--buildConfig=<configfile>]
[--browserify]
[-- <platformOpts>]
Для подробной документации см. документацию по команде cordova build ниже.
команда cordova build
Краткое описание
Сокращение для cordova prepare + cordova compile для всех/указанных платформ. Позволяет собрать приложение для указанной платформы.
Синтаксис
cordova build [<platform> [...]]
[--debug|--release]
[--device|--emulator]
[--buildConfig=<configfile>]
[--browserify]
[-- <platformOpts>]
| Опция | Описание |
|---|---|
<platform> [..] | Имя(а) платформы(платформ) для сборки. Если не указано, все платформы будут собраны. |
| --debug | Выполнить отладочную сборку. Это, как правило, означает отладочный режим для платформы, подлежащей сборке. |
| --release | Выполнить релизную сборку. Это, как правило, означает релизный режим для платформы, подлежащей сборке. |
| --device | Собрать для устройства |
| --emulator | Собрать для эмулятора. В частности, архитектура платформы может отличаться для устройства и эмулятора. |
--buildConfig=<configFile>
| По умолчанию: build.json в корневой директории cordova. Использовать указанный файл конфигурации сборки. Файл build.json используется для указания параметров для настройки процесса сборки приложения, особенно для подписи пакета. |
| --browserify | Компилировать плагин JS во время сборки с использованием browserify вместо выполнения |
<platformOpts> | Для предоставления платформно-специфических опций, вы должны включить их после разделителя --. См. документацию по платформе для получения дополнительной информации. |
Примеры
-
Собрать для платформ
androidиwindowsв режимеdebugдля развертывания на устройстве:cordova build android windows --debug --device
-
Собрать для платформы
androidв режимеreleaseи использовать указанный файл конфигурации сборки:cordova build android --release --buildConfig=..\myBuildConfig.json
-
Собрать для платформы
androidв релизном режиме и передать пользовательские платформенные параметры для процесса сборки android:cordova build android --release -- --keystore="..\android.keystore" --storePassword=android --alias=mykey
команда cordova run
Краткое описание
Подготавливает, собирает и развёртывает приложение на указанных платформах устройствах/эмуляторах. Если подключено устройство, оно будет использовано, если не запущен подходящий эмулятор.
Синтаксис
cordova run [<platform> [...]]
[--list | --debug | --release]
[--noprepare] [--nobuild]
[--device|--emulator|--target=<targetName>]
[--buildConfig=<configfile>]
[--browserify]
[-- <platformOpts>]
| Опция | Описание |
|---|---|
<platform> [..] | Имя(а) платформы(платформ) для запуска. Если не указано, запускаются все платформы. |
| --list | Список доступных целей. Отображаются как цели развертывания устройств, так и эмуляторов, если не указано другое. |
| --debug | Развёртывание отладочной сборки. Это поведение по умолчанию, если не указано --release. |
| --release | Развертывание релизной сборки |
| --noprepare | Пропустить подготовку (доступно в Cordova v6.2 и более поздних версиях) |
| --nobuild | Пропустить сборку |
| --device | Развертывание на устройстве |
| --emulator | Развертывание в эмуляторе |
| --target | Развертывание на определённой целевой эмуляторе/устройстве. Используйте --list для отображения опций целевых платформ. |
--buildConfig=<configFile>
| По умолчанию: build.json в корневом каталоге cordova. Используйте указанный файл конфигурации сборки. Файл build.json используется для указания параметров настройки процесса сборки приложения, особенно связанных с подписью пакета. |
| --browserify | Компиляция JS плагинов во время сборки с помощью browserify вместо выполнения |
<platformOpts> | Чтобы предоставить платформенно-специфичные опции, вы должны включить их после разделителя --. Для получения более подробной информации ознакомьтесь с документацией по руководству платформы. |
Примеры
-
Запуск релизной сборки текущего проекта cordova на эмуляторе платформы
androidс именемNexus_5_API_23_x86. Используйте указанную конфигурацию сборки при выполнении:cordova run android --release --buildConfig=..\myBuildConfig.json --target=Nexus_5_API_23_x86
-
Запуск отладочной сборки текущего проекта cordova на платформе
androidс использованием устройства или эмулятора (если устройство не подключено). Пропустить сборку:cordova run android --nobuild
-
Запуск отладочной сборки текущего проекта cordova на устройстве
ios.cordova run ios --device
-
Перечислить имена всех подключенных устройств и доступных эмуляторов, которые могут быть использованы для запуска этого приложения:
cordova run ios --list
Команда cordova emulate
Синтаксис
Псевдоним для cordova run --emulator. Запускает эмулятор вместо устройства. Для получения дополнительной информации см. документацию по команде cordova run.
Команда cordova clean
Синтаксис
Очищает артефакты сборки для всех платформ или для указанной платформы, выполняя очистку сборки конкретной платформы.
Синтаксис
cordova clean [<platform> [...]]
Пример
-
Очистка артефактов сборки платформы
android.cordova clean android
Команда cordova requirements
Синтаксис
Проверяет и выводит все требования для указанных платформ (или для всех платформ, добавленных в проект, если не указано ничего) . Если все требования для каждой платформы выполнены, завершается с кодом 0, в противном случае завершается с ненулевым кодом.
Это может быть полезно при настройке машины для сборки конкретной платформы.
Синтаксис
cordova requirements android
Команда cordova info
Синтаксис
Выводит полезную информацию, которая полезна для отправки отчетов об ошибках и получения помощи. Создает файл info.txt в корне вашего проекта.
Синтаксис
cordova info
Команда cordova serve
Синтаксис
Запускает локальный веб-сервер для ресурсов www/ с использованием указанного port или значения по умолчанию 8000. Доступ к проектам по адресу: http://HOST_IP:PORT/PLATFORM/www.
Синтаксис
cordova serve [port]
Команда cordova telemetry
Синтаксис
Включает или отключает сборку телеметрии.
Синтаксис
cordova telemetry [STATE]
| Опция | Описание |
|---|---|
| on | Включить сбор телеметрии. |
| off | Выключить сбор телеметрии. |
Детали
При первом запуске cordova отображается временный запрос к пользователю, предлагающий выбрать включение или отключение телеметрии. Он длится 30 секунд, после чего пользователь автоматически отключается от телеметрии, если не предоставит ответа. В средах непрерывной интеграции (CI) переменная среды CI может быть установлена, что предотвратит показ запроса. Сбор телеметрии также можно отключить для отдельной команды, используя флаг --no-telemetry.
Примеры
cordova telemetry on cordova telemetry off cordova build --no-telemetry
Для получения более подробной информации ознакомьтесь с нашим уведомлением о конфиденциальности: https://cordova.apache.org/privacy
Команда cordova help
Синтаксис
Показать сводку синтаксиса или справку по определённой команде.
Синтаксис
cordova help [command] cordova [command] -h cordova -h [command]
Команда cordova config
Синтаксис
Установить, получить, удалить, изменить и перечислить глобальные опции cordova.
Синтаксис
cordova config ls cordova config edit cordova config set <key> <value> cordova config get <key> cordova config delete <key>
Примеры
cordova config set autosave false cordova config set browserify false
© 2012, 2013, 2015 The Apache Software Foundation
Licensed under the Apache License 2.0.
https://cordova.apache.org/docs/en/8.x/reference/cordova-cli/index.html