使用Cordova命令行界面(CLI)

本文承接上篇《Cordova开发前的准备工做》。css

每一个Cordova支持的移动平台的框架文件中都有建立新项目、测试和调试应用的脚本。但它们都是平台专用的,不能用在跨平台的场景上。而CLI就是为了解决这一问题开发的。接下来讲明如何使用CLI。html


关于CLI

Cordova应用本质上是web应用,每一个移动平台使用不一样的IDE和项目结构。Cordova之前的版本,开发者建立为每一个移动平台建立一个项目,再把web应用内容在项目间来回复制。在3.0之后还把Cordova API都迁移到了插件中。管理Cordova项目、Web内容和安装的插件都很困难。从3.0开始(在2.7发布过预览版),项目添加了CLI,它提供一套命令给开发者使用:node

  • 建立跨平台应用项目
  • 为每一个Cordova移动设备平台添加支持
  • 列出支持的移动设备平台
  • 删除移动平台支持
  • 向项目添加插件:能够是核心Cordova插件、第三方插件或自定义插件
  • 列出项目中全部安装的插件
  • 从项目中移除插件
  • 准备、编译和构建项目
  • 经过Web服务器提供项目Web内容
  • 在合适的移动设备仿真器中启动应用

恰当使用这些命令,开发者能够管理Cordova应用开发的整个生命周期。android


检查CLI运行中的故障

Cordova正常状况下执行命令后不会显示任何信息。若是想查看命令在执行过程当中哪里出了问题,可使用-d--verbose参数开启冗长模式。开启后能够看见命令执行过程的每一步的状态。其中一些信息由CLI自己提供,另一些由CLI调用的第三方工具产生。ios


CLI命令概要

先大致了解一下CLI命令:git

Help:显示可用CLI命令的信息。
Create:建立Cordova项目并关联项目文件夹和文件。
Plateform:管理Cordova项目使用的移动平台。
Plugin:管理Cordova插件的安装和卸载。
Prepare:从Cordova项目的www文件夹复制web应用内容到项目移动平台项目文件夹中。
Compile:把web应用打包成Cordova应用。
Build:先执行Prepare命令而后打包web应用。
Emulate:在一个或多个移动设备平台的设备模拟器中运行Cordova应用。
Run:在一个或多个移动设备中运行Cordova应用。
Serve:启动一个服务器加载web内容以便于用浏览器访问。web


使用CLI

要详细了解CLI使用的命令,包括命令机制和每一个命令的执行过程。要了解CLI可使用哪些命令,打开Windows命令窗口或相似的程序,输入shell

cordova help

检查CLI版本:apache

cordova -v

或者windows

cordova -version

建立Cordova项目

开发前要建立一个项目。create命令用来建立新项目。打开命令行窗口进入要建立项目的文件夹,输入如下命令:

cordova create project_name

这样就建立了一个简单的Cordova项目结构和一些Web内容文件。也能够用如下命令明确指定应用ID和应用的名字:

cordova create project_name app_id app_name

这个命令还把应用ID写进应用的配置文件,而且有了一个和项目名字不一样的应用名字,如项目文件夹叫myapp而应用名字叫Hello,能够这么写:

cordova create myapp com.cordovaprogamming.hello hello

注意命令执行完并不显示发生了什么,执行完就返回到命令行。建立项目时,CLI建立了一个默认的HelloWorld页面。

全部的Cordova CLI命令都要在建立好的项目文件夹中执行,即用CLI执行的项目操做都要在create建立的项目文件夹中指行。

建立的项目结构以下图。这种项目结构便于跨平台处理。注意www文件夹单独被拿出来,这样就能够在多个移动平台上共享同一个web应用。

在之前的版本中项目文件夹中有merges文件夹,用来单独存放不一样平台上不一样的资源文件(如html、css、js、图像和视频文件等)。最近的版本去掉了它,增长了hooks文件夹(可替代merges文件夹的做用)。hooks文件夹用于存放一些脚本代码(如node.js、shell),用来自定义CLI命令,从而扩展Cordova CLI框架。关于Cordova hooks的详细使用请参考hooks文件夹中的readme.md。platform文件夹中放置每一个移动平台的文件夹。plugins文件夹存放应用使用的插件的源码。

Cordova CLI的不会事先准备好全部要使用的文件,它使用了一种叫延时加载的处理方法,在建立项目和向项目添加平台支持时下载所须要的文件。CLI用一个叫.cordova的文件夹存放延时加载下载的文件,在windows系统中通常位于用户主目录下(c:\users\user_name)。在建立项目时的下载过程当中若是出现问题,能够先用-d参数下载了哪些文件,若是CLI报告已下载过并跳过下载,查看.cordova中是否真的有这个文件。若是没有请whack这个空文件夹并重试。

平台管理

新建立的项目文件夹中只有一些空文件夹,还不支持任何移动设备平台。platform命令就是用于管理应用中的项目文件的。

添加平台

打开命令行窗口进入Cordova项目文件夹,输入如下命令添加某个移动设备平台,固然要提早安装好平台开发工具(如Android SDK):

cordova platform add platform_name

若是要向应用中添加Android项目,能够这么写:

cordova platform add android

若是在一行命令中添加多个平台项目,能够这么写:

cordova platform add android blackberry ios

执行命令后,会在项目根目录的platform文件夹中生成平台项目文件夹,能够用相关IDE导入使用(如Android使用安装ADT的Eclipse)。

列出平台列表

CLI能够查看Cordova项目中已经存在的平台的列表。在平台根目录中输入如下命令之一查看:

cordova platforms
cordova platform ls
cordova platform list

CLI用JSON格式返回每一个平台的名字,形如:

['android', 'ios', 'blackberry10']

这个命令的主要用于一些自动化处理中。它返回的JSON结果可用于Node.js应用,解析后肯定是否缺乏某平台。

删除平台

使用以下命令删除:

cordova platform remove platform_name

或使用remove的简写rm

cordova platform rm platform

插件管理

插件管理是CLI重要功能之一。CLI负责复制plugin文件和修改配置文件,不用手工操做。

添加插件

在命令行窗口中进入项目文件夹,输入如下命令:

cordova plugin add path_to_plugin_files

例如添加相机插件可使用以下命令:

cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git

这样就链接到了Apache Git并下载最新版本的插件。Cordova核心API插件列表位于http://cordova.apache.org/docs/en/3.0.0/guide_cli_index.md.html#The%20...

Apache在插件位置是以下形式,尖括号中的plugin-name指插件名,通常知道了地址,CLI均可如下载下来:

https://git-wip-us.apache.org/repos/asf/cordova-plugin-<plugin-name>.git

若是是第三方插件或存在本地的自定义的插件,可使用以下命令安装,your_location指本地存储路径:

cordova plugin add your_location

使用CLI是向项目安装插件的惟一方法。以前版本要开发者手工复制并修改配置文件。若是在3.0及之后的版本使用这种方法可能会破坏Cordova项目。

3.1版本之后能够直接用插件名安装,CLI会在插件仓库中检查与名字匹配的插件并下载安装到项目中。例如要添加console插件,在项目文件夹下使用以下命令:

cordova plugin add org.apache.cordova.console

添加的插件位于项目根目录的plugins文件夹中,插件名的命名空间使用Reverse-DNS命名惯例再加上插件名,例如Cordova核心插件使用*org.apache.cordova.core加上插件名的命名方式。这种命名方式减小了不一样组织间类似插件的命名冲突的可能性。

插件对每一个支持的平台有各自存放的文件夹。另外Cordova应用使用的JavaScript文件放在www文件夹中。关于插件更多的状况咱们放在后面更详细的去了解。

列出插件列表

使用以下命令查看在Cordova项目中插件列表,打开命令行窗口进入项目文件夹:

cordova plugins

CLI将以JSON数据形式返回结果,如:

['org.apache.cordova.core.camera',
 'org.apache.cordova.core.device-motion',
 'org.apache.cordova.core.file']

删除插件

使用以下命令删除插件,打开命令行窗口进入项目文件夹:

cordova plugin remove plugin_name

或者使用remove的简写形式rm

cordova plugin rm plugin_name

删除过程是安装过程的反向操做,它把配置文件中指向插件的配置文件说明删除并把插件文件夹从项目文件夹中删除。

构建管理

CLI内置整合了移动平台SDK,可使用CLI管理应用构建过程。

准备

CLI的prepare命令把Cordova项目的web应用内容从www文件夹复制到适当的平台文件夹中。每次改动web内容后都要使用这个命令。prepare命令由接下来要介绍的许多命令自动调用。

打开命令行工具进入项目文件夹输入如下命令:

cordova prepare

能够为指定平台执行准备工做,命令以下:

cordova prepare platform_name

编译

compile命令经过调用项目平台文件夹中的构建脚本初始化编译过程。

打开终端窗口进入平台文件夹输入如下命令使用compile命令:

cordova compile

编译某个平台:

cordova compile platform_name

构建

build命令和compile命令类似,只之在执行编译前先调用prepare命令。

打开终端窗口进入平台文件夹输入如下命令:

cordova build

编译某平台:

cordova build platform_name

运行Cordova应用

CLI内在关联了移动平台模拟器,能够在模拟器或物理设备上直接运行Cordova应用。以后会详细介绍模拟器的配置和加载,从CLI使用物理设备都须要什么。先对相关命令大概看一下:

仿真

emulate命令自动执行了构建处理过程并把应用部署到设备模拟器上。它首先要准备应用,执行构建处理过程,把生成的应用程序包部署到模拟器。

在项目中配置的每一个平台的默认模拟器上运行Cordova应用,使用以下命令:

cordova emulate

在单独的设备模拟器上模拟运行,如android,使用以下命令:

cordova emulate android

运行

run命令自动执行应用的构建过程并部署到物理设备。命令首先作准备工做,执行构建处理过程而后把应用包部署到链接的设备。

要在项目中配置的每一个平台上运行Cordova应用,使用以下命令:

cordova run

在某个设备上,如android设备,使用以下命令:

cordova run android

使用服务器

web应用在移动设备上使用前,先在桌面浏览器测试。这一点对Cordova应用尤为重要,由于在移动设备上使用前还有一个打包过程。

使用server命令能够加载一个本地服务器,寄宿了某个平台的web内容。它不向浏览器开放Cordova API,全部的测试都针对Web UI进行。在测试前使用prepare命令确保web内容保持最新状态。

在命令行窗口进入项目文件夹输入如下命令:

cordova serve plat_form

如在服务器中运行Cordova项目的Android平台web应用内容:

cordova serve android

命令加载后,会显示一个URL用于在浏览器上访问。端口默认使用8000,要使用不一样的端口使用以下命令:

cordova server android 8080

到此为止,咱们队Cordova的自动化构建和测试工具CLI的使用有了一个比较详细的了解。下一篇咱们以项目自带的Hello World程序为例剖析Cordova项目。

相关文章
相关标签/搜索