Spec-Zone.ru › Cordova 6

Справочник по интерфейсу командной строки Cordova (CLI)

Синтаксис

cordova <command> [options] -- [platformOpts]

Список глобальных команд

Эти команды доступны всегда.

Команда Описание
create Создать проект
help Получить справку по команде
telemetry Включить или выключить сбор телеметрии

Список команд проекта

Эти команды поддерживаются, когда текущий рабочий каталог является корректным проектом 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 Прекращает выполнение хуков (принимает параметры регулярных выражений для хуков)
--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
    cordova plugin add cordova-plugin-camera --save
    # Add camera plugin to the project and remember that in config.xml. Use npm install to fetch.
    cordova plugin add cordova-plugin-camera --save --fetch
    # Add android platform to the project and remember that in config.xml
    cordova platform add android --save
    # Add android platform to the project and remember that in config.xml. Use npm install to fetch.
    cordova platform add android --save --fetch
    # 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, и они будут загружены на машину при вызове 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> | --fetch } |
    {remove | rm}  platform [...] {--save | --fetch}|
    {list | ls}  |
    check |
    save |
    update ]
Подкоманда Параметр Описание
add <platform-spec> [...] Добавить указанные платформы
--save Сохранить <platform-spec> в config.xml после их установки с помощью тега <engine>
--link=<path> Если <platform-spec> — это локальный путь, связывает библиотеку платформы напрямую вместо копирования (поддержка зависит от платформы; полезно для разработки платформы)
--fetch Загружает платформу с помощью npm install и сохраняет её в каталог node_modules приложения
remove <platform> [...] Удалить указанные платформы
--save Удалить указанные платформы из config.xml после их удаления
--fetch Удаляет платформу с помощью npm uninstall и удаляет её из каталога node_modules приложения
update platform [...] Обновить указанные платформы
--save Обновляет версию, указанную в config.xml
--fetch Загружает платформу с помощью npm install и сохраняет её в каталог node_modules приложения
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.

    cordova platform add android ios --save
    
  • Добавить закреплённую версию платформы android и ios и сохранить загруженную версию в config.xml. Установить в проект с помощью npm install и сохранить в каталоге приложений node_modules.

    cordova platform add android ios --save --fetch
    
  • Добавить платформу android с версией semver ^5.0.0 и сохранить её в config.xml.

    cordova platform add android@^5.0.0 --save
    
  • Добавить платформу, клонировав указанный 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.

    cordova platform rm android --save
    
  • Удалить платформу android из проекта и из config.xml. Запустить npm uninstall, чтобы удалить её из каталога node_modules.

    cordova platform rm android --save --fetch
    
  • Вывести список доступных и установленных платформ с номерами версий. Это полезно для определения номеров версий при сообщении о проблемах.

    cordova platform ls
    
  • Сохранить версии всех платформ, добавленных в проект, в config.xml.

    cordova platform save
    

Команда cordova plugin

Описание

Управление плагинами проекта.

Синтаксис

cordova {plugin | plugins} [
    add <plugin-spec> [..] {--searchpath=<directory> | --noregistry | --link | --save | --browserify | --force | --fetch} |
    {remove | rm} {<pluginid> | <name>} --save --fetch |
    {list | ls} |
    search [<keyword>] |
    save |
]
Подкоманда Опция Описание
add <plugin-spec> [...] Добавить указанные плагины
--searchpath <directory> При поиске плагинов по идентификатору, искать в этом каталоге и каждом его подкаталоге перед обращением к реестру. Можно указать несколько путей поиска. Используйте ':' в качестве разделителя в системах на базе *nix, и ';' для Windows.
--noregistry Не искать плагины в реестре.
--link При установке из локального пути, создаёт символическую ссылку вместо копирования файлов. Степерь связи файлов варьируется в зависимости от платформы. Полезно для разработки плагинов.
--save Сохранить плагин как часть элемента <plugin-spec> в plugin.
--browserify Компилировать JS плагина во время сборки с использованием browserify вместо выполнения.
--force Введено в версии 6.1. Принудительно копирует исходные файлы из плагина, даже если такие же файлы уже существуют в целевом каталоге.
--fetch Загружает плагин с помощью npm install и сохраняет его в каталог приложений node_modules
remove ` ` [...]
--save Удалить указанный плагин из config.xml
--fetch Удаляет плагин с помощью npm uninstall и удаляет его из каталога приложений node_modules
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'
subdir Подкаталог для поиска plugin.xml для указанного плагина. (Не работает с опцией --fetch)

Алгоритм разрешения плагинов

При добавлении плагина в проект, CLI разрешит плагин на основе следующих критериев (в порядке приоритета):

  1. Указанный в команде plugin-spec (например, cordova plugin add pluginID@version)
  2. Сохранённый в plugin-spec плагин из config.xml (если плагин был ранее добавлен с --save)
  3. Начиная с версии Cordova 6.1, самая последняя версия плагина, опубликованная в npm, которую может поддерживать текущий проект (применимо только к плагинам, которые перечисляют свои зависимости Cordova в своём package.json)
  4. Самая последняя версия плагина, опубликованная в npm

Примеры

  • Добавить cordova-plugin-camera и cordova-plugin-file в проект и сохранить в config.xml. Используйте каталог ../plugins для поиска плагинов.

    cordova plugin add cordova-plugin-camera cordova-plugin-file --save --searchpath ../plugins
    
  • Добавить cordova-plugin-camera с версией semver ^2.0.0 и сохранить в config.xml.

    cordova plugin add cordova-plugin-camera@^2.0.0 --save
    
  • Добавить cordova-plugin-camera с версией semver ^2.0.0 и npm install его. Он будет сохранён в каталоге node_modules.

    cordova plugin add cordova-plugin-camera@^2.0.0 --fetch
    
  • Клонировать указанный git репозиторий, перейти к тегу 2.1.0, найти plugin.xml в каталоге plugin, добавить его в проект. Сохранить plugin-spec в config.xml.

    cordova plugin add https://github.com/apache/cordova-plugin-camera.git#2.1.0:plugin --save
    
  • Добавить плагин из указанного локального каталога.

    cordova plugin add ../cordova-plugin-camera
    
  • Добавить плагин из указанного файла tarball.

    cordova plugin add ../cordova-plugin-camera.tgz --save
    
  • Удалить плагин из проекта и из config.xml.

    cordova plugin rm camera --save
    
  • Удалить плагин из проекта и npm uninstall его. Удаляет его из каталога node_modules.

    cordova plugin rm camera --fetch
    
  • Вывести список всех установленных в проекте плагинов.

    cordova plugin ls
    

Конфликтующие плагины

Конфликтующие плагины могут возникнуть при добавлении плагинов, использующих теги edit-config в файле plugin.xml. edit-config позволяет плагинам добавлять или заменять атрибуты XML элементов.

Эта функция может вызвать проблемы в приложении, если более одного плагина пытается изменить один и тот же XML элемент. Реализована проверка конфликтов, чтобы предотвратить добавление плагинов, которые пытаются перезаписать изменения другого плагина. Будет выброшено исключение, когда будет обнаружен конфликт в edit-config, и плагин не будет добавлен. Сообщение об ошибке укажет, что все конфликты должны быть разрешены, прежде чем плагин может быть добавлен. Один из способов разрешить конфликт edit-config - внести изменения в plugin.xml соответствующих плагинов, чтобы они не изменяли один и тот же XML элемент. Другой вариант - использовать флаг --force для принудительного добавления плагина. Этот вариант следует использовать с осторожностью, так как он игнорирует проверку конфликтов и перезапишет все конфликты с другими плагинами, тем самым может оставить другие плагины в плохом состоянии.

Обратитесь к руководству plugin.xml для управления edit-config, разрешения конфликтов и примеров.

Команда cordova prepare

Описание

Преобразует метаданные config.xml в платформенно-специфичные файлы манифестов, копирует значки и splash-скрины, копирует файлы плагинов для указанных платформ, чтобы проект был готов к сборке с каждой нативной SDK.

Синтаксис

cordova prepare [<platform> [..]]
     [--browserify | --fetch]

Опции

Опция Описание
<platform> [..] Имя(а) платформы для подготовки. Если не указано, все платформы готовятся.
--browserify Компилировать JS плагина во время сборки с использованием browserify вместо выполнения.
--fetch При восстановлении плагинов или платформ, fetch будет npm install отсутствующие модули.

Команда 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]

© 2012, 2013, 2015 The Apache Software Foundation
Licensed under the Apache License 2.0.
https://cordova.apache.org/docs/en/6.x/reference/cordova-cli/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API