Справочник по командной строке 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, большая часть вашего кода и ресурсов будет находиться здесь. Они будут скопированы при каждой сборке на www директории каждой платформы. Директория www исходного кода воспроизводится в каждой поддиректории платформы, например, в platforms/ios/www или platforms/android/assets/www. Поскольку CLI постоянно копирует файлы из исходной папки www, вы должны редактировать только эти файлы, а не файлы, находящиеся в поддиректориях платформ. Если вы используете систему управления версиями, вы должны добавить эту исходную папку www, а также папку merges в систему управления версиями.
platforms/
Содержит весь исходный код и скрипты сборки для платформ, которые вы добавите в свой проект.
ПРЕДУПРЕЖДЕНИЕ: При использовании CLI для сборки приложения, не редактируйте файлы в каталоге /platforms/, если вы не знаете, что делаете, или если документация не указывает на обратное. Файлы в этом каталоге регулярно перезаписываются при подготовке приложений к сборке или при повторной установке плагинов.
plugins/
Любые добавленные плагины будут извлечены или скопированы в этот каталог.
hooks/
Этот каталог может содержать скрипты для настройки команд cordova-cli. Любые скрипты, которые вы добавите в эти каталоги, будут выполняться до и после соответствующих команд. Полезно для интеграции собственных систем сборки или интеграции с системами управления версиями.
См. Руководство по хукам для получения дополнительной информации.
merges/
Платформенно-специфичные веб-активы (файлы HTML, CSS и JavaScript) содержатся в соответствующих подпапках в этом каталоге. Они развертываются во время сборки в соответствующие каталоги родной платформы. Файлы, размещенные в 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с указанным ID и именем приложения: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 | Путь к каталогу или файлу tarball содержащему платформу |
| url | URL к репозиторию git или файлу tarball содержащему платформу |
| commit-ish | Ссылка на коммит/тег/ветвь. Если не указано, используется 'master' |
Поддерживаемые платформы
- Android
- iOS
- Windows (8.1, Phone 8.1, UWP – Windows 10)
- Браузер
- Electron
Примеры
-
Добавить закреплённую версию платформы
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 | --force} |
{remove | rm} {<pluginid> | <name>} --save |
{list | ls} |
save |
]
| Подкоманда | Опция | Описание |
|---|---|---|
add <plugin-spec> [...] | Добавить указанные плагины | |
--searchpath <directory>
| При поиске плагинов по ID, искать в этой директории и каждой из её поддиректорий перед обращением к реестру. Можно указать несколько путей поиска. Разделитель в системах на основе *nix - ';', в Windows - ':'. | |
| --noregistry | Не искать плагины в реестре. | |
| --link | При установке из локального пути создать символическую ссылку вместо копирования файлов. Степень связывания файлов варьируется в зависимости от платформы. Полезно для разработки плагинов. | |
| --nosave | НЕ сохранять <plugin-spec> как часть элемента plugin в config.xml или package.json. | |
| --force | Введено в версии 6.1. Принудительно копирует исходные файлы плагина, даже если такие же файлы уже существуют в целевой директории. | |
| remove ` | ||
| --nosave | НЕ удалять указанный плагин из config.xml или package.json | |
| list | Отобразить установленные плагины | |
| save | Сохранить <plugin-spec> всех плагинов, в настоящее время добавленных в проект |
Спецификация плагина
Существует несколько способов указать плагин:
<plugin-spec> : [@scope/]pluginID[@version]|directory|url[#commit-ish][:subdir]
| Значение | Описание |
|---|---|
| scope | Область опубликованного плагина, как определённого npm пакета |
| plugin | Идентификатор плагина (ID плагина в 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(т.е. если плагин был ранее добавлен без--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> [..]]
Опции
| Опция | Описание |
|---|---|
<platform> [..] | Имя(а) платформы для подготовки. Если не указано, все платформы собираются. |
Команда cordova compile
Краткое описание
cordova compile - это подмножество команды cordova build. Она выполняет только этап компиляции без подготовки. Обычно вызывается cordova build вместо этой команды - но этот этап полезен для расширения, используя плагины.
Синтаксис
cordova build [<platform> [...]]
[--debug|--release]
[--device|--emulator|--target=<targetName>]
[--buildConfig=<configfile>]
[-- <platformOpts>]
Для подробной документации см. документацию команды cordova build ниже.
Команда cordova build
Краткое описание
Сокращение для cordova prepare + cordova compile для всех/указанных платформ. Позволяет собрать приложение для указанной платформы.
Синтаксис
cordova build [<platform> [...]]
[--debug|--release]
[--device|--emulator]
[--buildConfig=<configfile>]
[-- <platformOpts>]
| Опция | Описание |
|---|---|
<platform> [..] | Имя(а) платформы для сборки. Если не указано, все платформы собираются. |
| --debug | Выполнить отладочную сборку. Это, как правило, означает отладочный режим для подлежащей платформы, которая собирается. |
| --release | Выполнить релизную сборку. Это, как правило, означает релизный режим для подлежащей платформы, которая собирается. |
| --device | Сборка для устройства |
| --emulator | Сборка для эмулятора. В частности, архитектура платформы может отличаться для устройства и эмулятора. |
--buildConfig=<configFile>
| По умолчанию: build.json в корневой директории cordova. Использовать указанный файл конфигурации сборки. Файл build.json используется для указания параметров, настраивающих процесс сборки приложения, особенно связанный с подписью пакета. |
<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>]
[-- <platformOpts>]
| Опция | Описание |
|---|---|
<platform> [..] | Имя(а) платформы для запуска. Если не указано, запускаются все платформы. |
| --list | Выводит список доступных целей. Отображает как цели развертывания устройств, так и эмуляторов, если не указано иное. |
| --debug | Развернуть отладочную сборку. Это поведение по умолчанию, если не указано --release. |
| --release | Развернуть релизную сборку |
| --noprepare | Пропустить подготовку (доступно в Cordova v6.2 или более поздних версиях) |
| --nobuild | Пропустить сборку |
| --device | Развернуть на устройстве |
| --emulator | Развернуть на эмуляторе |
| --target | Развернуть на конкретном целевом эмуляторе/устройстве. Используйте --list для отображения вариантов целевых платформ. |
--buildConfig=<configFile>
| По умолчанию: build.json в корневом каталоге cordova. Используйте указанный файл конфигурации сборки. Файл build.json используется для указания параметров настройки процесса сборки приложения, особенно в отношении подписи пакета. |
<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/ assets, используя указанный порт 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
© 2012, 2013, 2015 The Apache Software Foundation
Licensed under the Apache License 2.0.
https://cordova.apache.org/docs/en/9.x/reference/cordova-cli/index.html