4、Cordova命令行(基础知识)

翻译自cordova官方文档(如果需要链接,请自行对照原文链接进行查看):
https://cordova.apache.org/docs/en/6.x/guide/cli/index.html

Cordova命令行

本章主要介绍如何使用Cordova的命令行工具(Command-Line-Interface)

前提条件

首先在运行任何命令之前,需要安装对应平台的SDK,目前Cordova支持的开发平台主要有以下几个平台:

 iOS (Mac)
    Amazon Fire OS (Mac, Linux, Windows)
    Android (Mac, Linux, Windows)
    BlackBerry 10 (Mac, Linux, Windows)
    Windows Phone 8 (Windows)
    Windows (Windows)
    Firefox OS (Mac, Linux, Windows)

安装Cordova

首先需要安装Nodejs环境,然后安装npm,然后使用命令:

Mac&Linux

 $ sudo npm install -g cordova

Windows

  C:\>npm install -g cordova

    /******************************************************************
     *npm是你要执行的命令
     *install 是表示安装
     *cordova是你要安装的软件
     *-g是全局安装,这样你就可以在你的命令行任意目录下执行cordova命令了.
     *如果是Windows你需要在Path中设置npm的安装路径以达到在任何目录下都能使用该命令的目的.
     *****************************************************************/

安装成功以后输入如下指令可以得到版本信息表示安装成功

$ cordova -v  # 6.0.0

创建应用程序工程

命令语法:$ cordova create project_path com.project.appname appname

 $ cordova create CordovaCn com.cordovacn CordovaCnApp

    /******************************************************************
     *cordova 执行的命令
     *create 命令cordova创建工程
     *project_path 创建程序根目录的名称
     *com.project.appname 创建程序标识符,也就是identifier,以后可以在程序里修改,不过改的地方很多
     *appname 程序名称,默认值是HelloCordova
     ******************************************************************/

添加平台

添加平台首先要进入到你创建的Cordova工程根目录,比如:

$ cd CordovaCn

此后,可以通过下面的命令添加对应的app需要支持的移动平台

   $ cordova platformadd ios
    $ cordova platformadd amazon-fireos
    $ cordova platformadd android
    $ cordova platformadd blackberry10
    $ cordova platformadd firefoxos
    /****************************************************************
     *提示:在添加平台以前,最好先设置好splashscreen插件以后在进行平台的添加这样可以避免很多麻烦
     *很多人经常反应说配置了splashscreen插件,但是icon和splash却还是默认图片。
     *这里主要原因是很多Cordova开发者对原生开发并不熟悉,因此不会针对原生工程进行icon和splashscreen的设置
     *但是如果在platform add命令以前进行设置,然后添加对应移动平台的时候,Cordova会帮你解决一切问题
     ***************************************************************/

通过以下命令来罗列出目前Cordova支持哪些平台以及当前工程添加了哪些平台

  $ cordova platforms ls
    /*****************************************************************
     *运行结果如下,当前是没有添加任何支持平台,所以第一行为空
     *Installed platforms: 
     *Available platforms: amazon-fireos, android, blackberry10, browser, firefoxos, ios, osx, webos
     ****************************************************************/

工程目录结构说明

myapp/|--config.xml#cordova的核心配置文件,在下一章节进行详细说明<br>
    |--hooks/#该目录主要是针对Cordova做一些动作的监听,我暂时也没有详细研究,稍后补充<br>
    |--www/#在对html,JavaScript,CSS文件进行编辑的时候主要是在该目录进行,而后通过prepare命令同步到各个平台目录<br>
    |--platforms/#生成的针对各个平台的平台工程目录,不要编辑此目录下任何文件,除非你只发布指定平台的app<br>
    ||--android/||--ios/--plugins/#安装插件的时候,会将插件的原始代码存放到此文件夹。大家在使用插件遇到问题的时候,请到这个目录查找readme文件<br>

删除不需要的平台

$ cordova platformremove blackberry10
    $ cordova platform rm amazon-fireos
    $ cordova platform rm android

检查哪些移动平台的镜像可以更新

$ cordova platform check
    #Creating Cordova project for the Android platform:#    Path: ../../../../var/folders/57/37gyvl514rj0js8485bfkqdc0000gn/T/cordova-platform-check-1457411506890/platforms/android#    Package: io.cordova.hellocordova#    Name: HelloCordova#    Activity: MainActivity#    Android target: android-22#Copying template files...#Android project created with cordova-android@4.1.1 #当前生成的android工程镜像是使用的4.1.1,可以被更新。

升级特定平台的镜像版本

$ cordova platform update android
    $ cordova platform update ios
    ...etc.

构建应用程序

可以通过以下的命令进行对工程的构建操作

$ cordova build
    $ cordova build ios // 只build ios平台

其实cordova build命令就是以下一组命令的快捷方式

$ cordova prepare ios
    $ cordova compile ios

在一般情况下,如果开发者对各个移动平台的开发工具使用很熟悉的情况下。我的建议是直接使用cordova prepare来进行代码同步。同步config.xml文件的信息到指定平台的配置文件,并拷贝icons&splashscreen,拷贝plugin文件到指定平台。然后通过对应平台的开发工具来进行编译调试等工作。

$ cordova prepare ios

在模拟器测试

$ cordova emulate android

从我个人建议,我是并不建议通过Cordova的指令来对app进行调试和运行的。我还是建议使用特定平台的开发工具来进行此类操作比如Android studio,XCode,Eclipse等。

在设备运行app

$ cordova run android

清理工程,主要用于清理工程跟其他编译工具的clean功能是一样的。当项目代码出现莫名其妙问题的时候,同步的文件没有及时反应到开发环境的时候,可以尝试此操作。

$ cordova clean android

emulate,build和run命令需要一些环境配置,所以对于很多人来说经常会遇到很多麻烦。这里我还是建议大家尽可能使用Android或者ios等特定平台的指定开发工具进行调试和运行。比如Android Studio或者XCode

插件相关的命令

Cordova的插件(plugin)是Cordova为web提供的与移动平台原生api交互的桥梁,而在Cordova官方已经为大家提供了非常丰富的plugin来使用,一般情况下是不需要自己单独开发的。

如何查找插件

当你需要一个功能插件的时候,但是又不知道叫什么名字,可以通过如下命令来查找你需要的插件:

    $ cordova plugin search bar code
    // com.phonegap.plugins.barcodescanner - Scans Barcodes
    // cordova-plugin-statusbar - Cordova StatusBar Plugin

如何安装插件

通过cordova plugin add我们可以到指定的库或者目录去安装指定的插件,下面是apache已经提供的一些基本的功能插件

//基本设备信息
    $ cordova plugin add cordova-plugin-device//网络相关
    $ cordova plugin add cordova-plugin-network-information//电池相关
    $ cordova plugin add cordova-plugin-battery-status//速度传感器
    $ cordova plugin add cordova-plugin-device-motion//指南针
    $ cordova plugin add cordova-plugin-device-orientation//地理位置
    $ cordova plugin add cordova-plugin-geolocation//相机相关
    $ cordova plugin add cordova-plugin-camera//媒体相关
    $ cordova plugin add cordova-plugin-media-capture
    $ cordova plugin add cordova-plugin-media//访问设备和网络上的文件
    $ cordova plugin add cordova-plugin-file
    $ cordova plugin add cordova-plugin-file-transfer//对话框和手机振动
    $ cordova plugin add cordova-plugin-dialogs
    $ cordova plugin add cordova-plugin-vibration//联系人
    $ cordova plugin add cordova-plugin-contacts//全球化
    $ cordova plugin add cordova-plugin-globalization//启动画面,又叫闪屏
    $ cordova plugin add cordova-plugin-splashscreen//打开新浏览器
    $ cordova plugin add cordova-plugin-inappbrowser//调试控制台
    $ cordova plugin add cordova-plugin-console

查看当前安装的plugin

$ cordova plugin ls # or 'plugin list'

删除plugin

 $ cordova plugin rm cordova-plugin-console
 $ cordova plugin remove cordova-plugin-console

安装指定Version的插件

$ cordova plugin add cordova-plugin-console@latest$ cordova plugin add cordova-plugin-console@0.2.1

安装指定位置或库的插件

 $ cordova plugin add https://github.com/apache/cordova-plugin-console.git
    $ cordova plugin add https://github.com/apache/cordova-plugin-console.git#r0.2.0
    $ cordova plugin add https://github.com/apache/cordova-plugin-console.git#CB-8438cordova-plugin-console
    $ cordova plugin add https://github.com/apache/cordova-plugin-console.git#f055daec45575bf08538f885e09c85a0eba363ff
    $ cordova plugin add https://github.com/someone/aplugin.git#:/my/sub/dir
    $ cordova plugin add https://github.com/someone/aplugin.git#r0.0.1:/my/sub/dir
    $ cordova plugin add ../my_plugin_dir

merges目录(我尝试在最新版本cordova使用该文件夹已经不起作用,后来问度娘说是新版本已经取消了使用hooks替代)

在工程根目录下创建merges目录结构如下:

merges
    --android
    --ios

里面存放的文件,当rebuild的时候不会被根目录www目录下的文件所覆盖,这样就可以保留针对特定平台而使用的css,js,html而不用每次build后回滚代码了。

命令帮助

$ cordova help
    $ cordova        # same$ cordova run --help # 查看run命令的详细帮助$ cordova info # 查看cordova命令的详细

更新Cordova

$ sudo npm update -g cordova
    $ sudo npm install -g cordova@3.1.0-0.2.0# 升级到指定版本
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值