Ionic / Cordova:以编程方式设置应用版本

时间:2017-02-07 16:31:49

标签: cordova ionic-framework

可以在<widget>的{​​{1}}元素中设置Cordova应用的版本号,但有没有办法以编程方式设置?

config.xml

我想在构建期间使用内部版本号作为版本号设置版本号。如果我们可以在构建时以编程方式更改config.xml,那将是很好的,例如通过运行Cordova cli命令。

1 个答案:

答案 0 :(得分:2)

如果你正在使用Gulp,可以使用像gulp-xmlpoke这样的插件来完成。

您可以通过命令行参数(例如gulp --buildVersion=1.2.3)将构建版本传递给gulp,并使用yargs提取它们。

示例gulp任务:

var gulp = require("gulp");
var argv = require("yargs").argv;    
var xmlpoke = require("gulp-xmlpoke");

gulp.task("setAppVersion", function () {
        return gulp.src("config.xml")
            .pipe(xmlpoke({
                replacements: [{
                    xpath: "/w:widget/@version",
                    value: argv.buildVersion,
                    namespaces: { "w": "http://www.w3.org/ns/widgets", "cdv": "http://cordova.apache.org/ns/1.0" }
                }]
            }))
            .pipe(gulp.dest("./"));
    });