平台和插件版本管理

从版本4.3.0开始,Cordova提供了保存和恢复平台和插件的能力。

这个特性允许开发者保存和恢复他们的app到一个已知的状态,而不用去检测所有平台和插件的源代码。

'save'命令存储app平台和插件的详细版本信息到config.xml里面。当一个'cordova prepare'命令发出,通过利用先前保存在config.xml里面的信息, 'restore'步骤就会自动执行。

下面场景,save/restore能力能派上用处,在大团队中大家为一个app工作,每个团队成员专注于一个平台或者插件。这个特性可以使分享项目十分容易,并且减少了在仓库检查时的冗余代码。

平台版本控制

保存平台

为了保存一个平台,你可以执行下面命令:

$ cordova platform add <platform[@<version>] | directory | git_url> --save

运行上述命令之后,作为对config.xml的影响看起来像这样:

<?xml version='1.0' encoding='utf-8'?>
    ...
    <engine name="android" spec="~4.0.0" />
    ...
</xml>

一些例子 :

  • 'cordova platform add android --save' => 检索固定版本的android平台,将其添加到项目中,然后更新config.xml。
  • 'cordova platform add android@3.7.0 --save' => 从npm中检索版本为3.7.0的android平台,将其添加到项目中,然后更新config.xml。
  • 'cordova platform add android@https://github.com/apache/cordova-android.git​ --save' => 克隆指定的cordova-androidgit仓库,将android平台添加到项目中,然后更新config.xml并指向特定git-url的版本。
  • 'cordova platform add C:/path/to/android/platform --save' => 从特定目录索引android平台,将其添加到项目中,然后更新config.xml并指向目录。

在现存项目上集中保存平台信息

当在添加平台的时候记得使用'--save'标志上十分有用,可你帮你将平台信息维护到config.xml中。 如果你有一个现存项目并且你想保存所有的当前添加的平台信息到你的项目的config.xml中,你可以使用:

$ cordova platform save

更新/移除平台

在'cordova platform update'和 'cordova platform remove'命令执行的时候,你可能也需要更新/删除config.xml平台配置信息 :

$ cordova platform update <platform[@<version>] | directory | git_url> --save
$ cordova platform remove <platform> --save

一些例子 :

  • 'cordova platform update android --save' => 除了更新android平台到固定版本,同时也更新config.xml中对应的条目
  • 'cordova platform update android@3.8.0 --save' => 除了更新android平台到3.8.0版本,同时也更新config.xml中对应的条目
  • 'cordova platform update /path/to/android/platform --save' => 除了更新android平台到文件夹指定的版本,同时也更新config.xml中对应的条目
  • 'cordova platform remove android --save' => 从项目中移除android平台并从config.xml删除对应的条目。

恢复平台

'cordova prepare'命令执行的时候,平台会自动从config.xml中恢复。

如果你添加一个平台没有指定版本/文件夹/git_url,这个版本就会安装config.xml里面,如果发现有

例子:

假设你的config.xml文件包含下面条目:

<?xml version='1.0' encoding='utf-8'?>
    ...
    <engine name="android" spec="3.7.0" />
    ...
</xml>

如果你运行下面命令'cordova platform add android' (没有version/folder/git_url指定), 平台'android@3.7.0'会被安装 (因为从config.xml里面检索)。


插件版本控制

(插件命令是平台命令的镜像)

保存插件

为了保存一个平台,你可以执行下面命令:

$ cordova plugin add <plugin[@<version>] | directory | git_url> --save

运行上述命令之后,作为对config.xml的影响看起来像这样:

<?xml version='1.0' encoding='utf-8'?>
    ...
    <plugin name="cordova-plugin-console" spec="~1.0.0" />
    ...
</xml>

一些例子 :

  • 'cordova plugin add cordova-plugin-console --save' => 检索固定版本的console插件,将其添加到项目中,然后更新config.xml
  • 'cordova plugin add cordova-plugin-console@0.2.13 --save' => 从npm中检索版本为0.2.13的android插件,将其添加到项目中,然后更新config.xml。
  • 'cordova plugin add https://github.com/apache/cordova-plugin-console.git --save' => 克隆指定的console插件git仓库,将console插件添加到项目中,然后更新config.xml并指向特定git-url的版本。
  • 'cordova plugin add C:/path/to/console/plugin --save' => 从特定目录索引console插件,将其添加到项目中,然后更新config.xml并指向目录。

在现存项目上集中保存插件信息

'--save'标志上十分有用,可你帮你将插件信息维护到config.xml中。 如果你有一个现存项目并且你想保存所有的当前添加的插件信息到你的项目的config.xml中,你可以使用:

$ cordova plugin save

更新/移除插件

'cordova plugin update'和 'cordova plugin remove'命令执行的时候,你可能也需要更新/删除config.xml平台配置信息:

$ cordova plugin update <plugin[@<version>] | directory | git_url> --save
$ cordova plugin remove <plugin> --save

一些例子 :

  • 'cordova plugin update cordova-plugin-console --save' => 除了更新console插件到固定版本,同时也更新config.xml中对应的条目
  • 'cordova plugin update cordova-plugin-console@0.2.13 --save' => 除了更新android插件到3.8.0版本,同时也更新config.xml中对应的条目
  • 'cordova plugin update /path/to/console/plugin --save' => 除了更新console插件到文件夹指定的版本,同时也更新config.xml中对应的条目
  • 'cordova plugin remove cordova-plugin-console --save' => 从项目中移除console插件并从config.xml删除对应的条目。

恢复插件

'cordova prepare'命令执行的时候,插件会自动从config.xml中恢复。

如果你添加一个插件没有指定版本/文件夹/git_url,这个版本就会安装config.xml里面,如果发现有

例子:

假设你的config.xml文件包含下面条目:

<?xml version='1.0' encoding='utf-8'?>
    ...
    <plugin name="cordova-plugin-console" spec="0.2.11" />
    ...
</ xml>

如果你运行下面命令'cordova plugin add cordova-plugin-console' (没有version/folder/git_url指定), 平台'android@3.7.0'会被安装 (因为从config.xml里面检索)。